【发布时间】:2014-01-29 14:23:12
【问题描述】:
在 N=P+Q 计算节点的情况下,ipython 是否可以同时向不同的 R 节点和 Q 节点发送消息,并且每组节点并行进行一些计算,并且两组节点都返回结果到控制器?
【问题讨论】:
标签: parallel-processing ipython
在 N=P+Q 计算节点的情况下,ipython 是否可以同时向不同的 R 节点和 Q 节点发送消息,并且每组节点并行进行一些计算,并且两组节点都返回结果到控制器?
【问题讨论】:
标签: parallel-processing ipython
是的,假设是直视
from IPython.parallel import Client
c = Client()
c.ids
c[:].apply_sync(lambda : "Hello, World")
结果
['Hello, World',
'Hello, World',
'Hello, World',
'Hello, World',
'Hello, World',
'Hello, World',
'Hello, World',
'Hello, World']
在偶数/奇数引擎上进行分区
(
c[0::2].apply_sync(lambda : "Hello"),
c[1::2].apply_sync(lambda : "World")
)
结果
(['Hello', 'Hello', 'Hello', 'Hello'], ['World', 'World', 'World', 'World'])
这里我应用的是同步,所以不完全是同时,但是如果你应用异步,你可以在之后立即收集。
您还可以在每组节点上推送一个变量,该变量将“决定”执行哪种计算。
【讨论】: