Hi, Various Sage users have reported on that parallelization of tensor field computations does not work on macOS. The latest report, yesterday on sagemanifolds.list: https://sympa.obspm.fr/wws/arc/sagemanifolds.list/2018-08/msg00003.html says that this example notebook http://nbviewer.jupyter.org/github/sagemanifolds/SageManifolds/blob/master/Worksheets/v1.3/SM_Kerr.ipynb fails with TypeError: Aborted (cf. the attached log), as soon as nproc is set to something different than 1 in cell no. 4:
Parallelism().set(nproc=8) Parallelization of computations on manifolds is implemented via the multiprocessing module (using the @parallel decorator). It works well on Linux and provides important speed-up. On macOS, while it fails in interactive sessions, it seems to work within the doctest framework (parallelization is doctested in various files in src/sage/manifolds and src/sage/tensor/modules). Apart from the manifold framework, does parallelization via the multiprocessing module has been already shown to work on macOS? Any hint on this issue would be appreciated (we don't have any macOS computer in our group...) Eric. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.
TypeError Traceback (most recent call last) <ipython-input-34-b27f950e3fce> in <module>() ----> 1 nabla = g.connection() ; print(nabla) /Applications/SageMath-8.3.app/Contents/Resources/sage/local/lib/python2.7/ site-packages/sage/manifolds/differentiable/metric.pyc in connection(self, name, latex_name, init_coef) 771 self._connection = LeviCivitaConnection(self, name, 772 latex_name=latex_name, --> 773 init_coef=init_coef) 774 return self._connection 775 /Applications/SageMath-8.3.app/Contents/Resources/sage/local/lib/python2.7/ site-packages/sage/manifolds/differentiable/levi_civita_connection.pyc in __init__(self, metric, name, latex_name, init_coef) 229 # the domain (i.e. disregarding the subcharts) 230 for chart in self._domain.top_charts(): --> 231 self.coef(chart._frame) 232 233 def _repr_(self): /Applications/SageMath-8.3.app/Contents/Resources/sage/local/lib/python2.7/ site-packages/sage/manifolds/differentiable/levi_civita_connection.pyc in coef(self, frame) 525 526 # Computation and Assignation of values --> 527 for ii, val in make_Connect(listParalInput): 528 for jj in val: 529 gam[jj[0],jj[1],jj[2],ii[0][1]] = jj[3] /Applications/SageMath-8.3.app/Contents/Resources/sage/local/lib/python2.7/ site-packages/sage/parallel/multiprocessing_sage.pyc in parallel_iter(processes, f, inputs) 75 result = p.imap_unordered(call_pickled_function, 76 [(fp, t) for t in inputs]) ---> 77 for res in result: 78 yield res 79 p.close() /Applications/SageMath-8.3.app/Contents/Resources/sage/local/lib/python2.7/ multiprocessing/pool.pyc in next(self, timeout) 671 if success: 672 return value --> 673 raise value 674 675 __next__ = next # XXX TypeError: Aborted