4
私は現在、単純な並列プログラミングを行うために、Pythonマルチプロセスを使用しています。 は私が8プロセッサまたは8つのコアのマシン上でこれを実行した場合、それは基本的に2つだけのコアを使用していますPythonマルチプロセス・ピンニング
def async(decorated):
module = getmodule(decorated)
decorated.__name__ += '_original'
setattr(module, decorated.__name__, decorated)
def send(*args, **opts):
return async.pool.apply_async(decorated, args, opts)
return send
、その後
@async
def evalfunc(uid, start, end):
veckernel(Posx, Posy, Posz, Quant, Delta)
return (uid, GridVal)
def runit(outdir):
async.pool = Pool(8)
results = []
for uid in range(8):
result = evalfunc(uid,Chunks[uid], Chunks[uid+1])
results.append(result)
非同期デコレータを使用しています。何故ですか? pthreadsのような適切なコアピン処理を行う方法はありますか?
どうもありがとう、 マーク