ipython并行可以跨不同的节点集进行操作

时间:2014-01-29 14:23:13

标签: parallel-processing ipython

使用N = P + Q计算节点,ipython可以同时向不同的R节点和Q节点发送消息,并且每组节点并行地进行一些计算,并且两组节点都返回结果给控制器?

1 个答案:

答案 0 :(得分:1)

是的,假设直接观看

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'])

这里我应用同步,所以它不是完全同时,但如果你应用异步,你可以立即收集。

您还可以在每组节点上推送一个变量,以“决定”要执行的计算。