ライブラリのmultiprocessingを使います。
import multiprocessing as mul
def getLL( d ):
return -d*d/2
pool = mul.Pool( processes=2 )
data = [ 0.5, 0.2, 0.1 ]
res = pool.map( getLL, data )
getLLは自分で定義した関数です。
dataはリストで、この中身が一つずつgetLLに渡されます。
ここでこの関数は
プロセス毎に実行されます。
ただし、一度に流れるプロセスは最初に決めた値(processes=2)です。
これで簡単に並列計算することができます。
関数への引数は一つしか受け付けないようです。
0 件のコメント:
コメントを投稿