これは私の最初の試み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
ループの外側で定義されており、「プッシュ」のようなことをする必要があると思いますが、少し混乱しています。後で「プル」する必要がありますか?- 関数に必要な 2 つの引数があり、それらを正しく渡す方法がわかりません。のようなことを試し
zip(ii,jj)
ましたが、いくつかのエラーが発生しました。 - また、ランダムなライブラリを使用しているという事実は、
gmpy2
物事に影響を与えるべきではないと思います。これは正しいです?これには何か特別なことをする必要がありますか?
理想的には、この単純な例でコードがエラーなしで実行されるように、あなたの助けが必要です。
失敗した試行を #2 に投稿することが有益だと思われる場合は、お知らせください。私は#1と暗闇の中にいます。