我使用来自 Ipython.parallel 的 loadbalancedview 在可迭代对象上调用函数,即
from IPython.parallel import Client
from functools import partial
rc = Client()
lview = rc.load_balanced_view()
lview.block = True
def func(arg0, arg1, arg2):
return func2(arg0) + arg1 + arg2
def func2(arg0):
return 2*arg0
answer = lview.map(partial(func, arg1=A, arg2=B), iterable_data)
func 调用 func2 的事实是否使 func 不能并行执行(即 GIL 是否发挥作用?)我假设当您调用 map 时,每个集群节点都会获得 func 的副本,但它们是否也会获得 func2 的副本. 此外,我使用 functools.partial 的事实是否会导致任何问题?