【问题标题】:Numpy parallelization for more than one node?多个节点的 Numpy 并行化?
【发布时间】:2015-09-26 11:18:32
【问题描述】:

对于某些 numpy 操作,例如 np.dot,可以使用更多内核。是否也可以使用多个节点?

【问题讨论】:

标签: python numpy


【解决方案1】:

Numpy 不是为轻松拆分成多个节点而设计的。您必须手动执行拆分,即拆分为由不同节点处理的子数组(如果可能的话)。

您可能正在使用多个内核,具体取决于底层库 [1]

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

【讨论】:

【解决方案2】:

要在多个进程上拆分工作,您必须实现 Process(不是线程)!

示例(摘自官方文档):

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

此外,this topic 可能对与您的情况相关的 numpy 优化语法感兴趣。

编辑 正如link 所述,您可以使用它来拆分核心或节点!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 2013-08-01
    • 2015-03-06
    • 1970-01-01
    • 2017-08-22
    • 2022-10-24
    相关资源
    最近更新 更多