私はslurm上でいくつかの並列コードを実行しようとしています。異なるプロセスでは通信する必要はありません。 naively私はpythonのslurmパッケージを使用しました。しかし、それは私が1つのノード上のCPUを使用しているようだ。slurmでのPythonのマルチプロセッシングの使用
たとえば、5つのCPUを持つ4つのノードがある場合、私は同時に5つのプロセスしか実行しません。異なるノード上で実行するようにマルチプロセスを教えるにはどうすればよいですか?
Pythonのコードは、次の
import multiprocessing
def hello():
print("Hello World")
pool = multiprocessing.Pool()
jobs = []
for j in range(len(10)):
p = multiprocessing.Process(target = run_rel)
jobs.append(p)
p.start()
問題がthis oneに似ていますが、そこには詳細に解決されていないように見えます。
あなたの答えをありがとう。実際には約40プロセスを並行して実行したいので、別のノードを使用する必要があります。今晩あなたのコードを試してみます – physicsGuy
私はあなたのアプローチを試みました。しかし、Pythonは上記のコードを持つ単一のノードだけを使用していますが、他のすべてのノードは未使用のままです。これの周りに簡単な方法はありますか? – physicsGuy