多个节点的Numpy并行化?

时间:2015-07-08 13:40:29

标签: python numpy

可以为np.dot等特定的numpy操作使用更多内核。是否也可以使用多个节点?

2 个答案:

答案 0 :(得分:3)

Numpy不适合轻松拆分为多个节点。您必须手动执行拆分,即拆分为由不同节点处理的子阵列(如果可能的话,用于您的操作)。

您可能正在使用多个核心,具体取决于基础库[1]

或者,您可以查看BlazeDask模块,了解具有多核支持的Numpy操作类型。

答案 1 :(得分:-1)

对于拆分多个流程的工作,你必须实现Process(而不是Thread)!

示例(摘自官方文档):

from multiprocessing import Process

def f(name):
    print('hello', name)

if __name__ == '__main__':
    p = Process(target=f, args=('bob',))
    p.start()
    p.join()

详情请参阅official documentation

此外,关于与您的情况相关的numpy优化语法,this topic可能会引起关注。

修改 如此link所述,您可以使用它来分割核心或节​​点!