【发布时间】:2014-10-28 05:59:32
【问题描述】:
这是我第一次尝试使用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一无所知。
【问题讨论】:
标签: python multiprocessing ipython ipython-parallel