【发布时间】:2023-04-06 10:45:01
【问题描述】:
我正在学习 ipython 中的并行计算。我遇到了一个例子,
from ipyparallel import Client
rc = Client()
rc.block = True
print(rc.ids)
def mul(a,b):
return a*b
dview = rc[:]
print(dview.apply(mul, 5, 6))
print(rc[0].apply(mul, 5, 5))
print(rc[1].apply(mul, 5, 9))
在上面的代码中,当dview.apply 被调用时,它会为所有客户端传递相同的参数集。我学会了分别给每个客户打电话。但是,如果客户要执行数据密集型任务,有没有办法通过dview.apply 传递不同的参数,因为那是进行并行计算的重点。
如果没有其他办法,我们是否可以让每个客户端调用异步,这样任务将并行完成,而不是在调用单个客户端时等待第一个客户端的结果?。
【问题讨论】:
标签: ipython jupyter-notebook ipython-parallel