为什么2个python的多处理过程停留在单个处理器上

时间:2014-07-02 13:13:30

标签: python multiprocessing

我的python脚本基本上与下面的示例代码类似,无法使用两个处理器通过multiprocessing模块创建两个独立的进程。

创建,执行和联合两个进程,但所有进程都在一个核心上发生。

我无法理解问题是什么,因为在另一台机器上的一切都符合预期multiprocessing.cpu_count()会在任一台计算机上返回4

所以我的问题有点模糊:原因可能是流程没有使用所有可用的处理器。

示例代码:

import numpy as np
import multiprocessing

n = 10
mat = np.random.randn(n, n)
vec = np.ones((n, 1))


def compprod():
    print np.dot(mat, vec)
    return


def compsum(times):
    print times*vec
    return

p1 = multiprocessing.Process(target=compprod)
p2 = multiprocessing.Process(target=compsum, args=(n, ))

p1.start()
p2.start()

p1.join()
p2.join()

print 'done'

0 个答案:

没有答案