python joblib.Parallel 与 Parallel-Python:在单个CPU的多个核心上并行化?
我想在我电脑的四核处理器上,让一个用Python 2.7写的for循环同时运行。
我应该用joblib.Parallel来实现,还是用Parallel-Python呢?
我看到joblib.Parallel用得更多,但它文档的第一行让我有点担心:它说分叉的进程要在“不同的CPU”上工作。这是不是意味着它不能在同一个CPU的不同核心上运行呢?
1 个回答
4
关于joblib和Parallel-Python的比较,主要是个人观点的问题,这在Stackoverflow上被认为是偏题。不过,关于你问题的另一部分:
提到的CPU,我认为他们是指核心。
import joblib
print joblib.cpu_count()
在我的电脑上显示的是8
,这正好是我拥有的核心数量,而我只有一个CPU。
它们也是基于multiprocessing
模块,这个模块的说明是:
... multiprocessing模块让程序员可以充分利用一台机器上的多个处理器。