Sturla Molden <sturla.mol...@gmail.com> wrote: > > This is actually a GNU problem. libgomp cannot be used on both sides of a > fork without an exec. Other common OpenMP implementations (Intel, > Microsoft) do not have this problem. It is interesting that Apple's GCD and > Accelerate framework have exactly the same issue as libgomp, which makes me > suspect it is related. >
In Python 3.4, multiprocessing has a solution to this problem: multiprocessing.set_start_method('spawn') will cause the processes to be started using fork+exec (with similar code to the current multiprocessing on Windows). However, it cripples the capabilites of multiprocessing: All objects must be pickled for sharing with spawned processes, unike fork where everything is just copied. And the target callable must be top-level (i.e. not a closure), because a closure cannot be pickled. OTOH, it is not worse than using multiprocessing on Windows. Sturla ------------------------------------------------------------------------------ WatchGuard Dimension instantly turns raw network data into actionable security intelligence. It gives you real-time visual feedback on key security issues and trends. Skip the complicated setup - simply import a virtual appliance and go from zero to informed in seconds. http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk _______________________________________________ Scikit-learn-general mailing list Scikit-learn-general@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/scikit-learn-general