这是我第一次尝试使用IPython.parallel
所以请多多包涵。
我读了这个问题 Parfor for Python 并且在实现一个简单的例子时遇到了麻烦,如下所示:
import gmpy2 as gm
import numpy as np
from IPython.parallel import Client
rc = Client()
lview = rc.load_balanced_view()
lview.block = True
a = 1
def L2(ii,jj):
out = []
out.append(gm.fac(ii+jj+a))
return out
Nloop = 100
ii = range(Nloop)
jj = range(Nloop)
R2 = lview.map(L2, zip(ii, jj))
我遇到的问题是:
a
是在循环之外定义的,我想我需要做一些像“推”这样的事情,但对此有点困惑。我需要“拉”后吗?- 该函数需要两个参数,我不知道如何正确传递它们。我尝试了类似的东西,
zip(ii,jj)
但遇到了一些错误。 - 另外,我认为我使用随机库
gmpy2
不应该影响事情。它是否正确?我需要为此做一些特别的事情吗?
理想情况下,我希望得到您的帮助,因此在这个简单的示例中,代码运行时不会出错。
如果您认为将我的失败尝试发布在#2 上会有所帮助,请告诉我。我对#1一无所知。