python joblib.Parallel 与 Parallel-Python:在单个CPU的多个核心上并行化?

2 投票
1 回答
3702 浏览
提问于 2025-04-18 08:06

我想在我电脑的四核处理器上,让一个用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模块让程序员可以充分利用一台机器上的多个处理器。

撰写回答