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

Reply via email to