1
我想在slurm上運行一些並行代碼,其中不同進程不需要進行通信。天真地我使用了python的slurm包。但是,似乎我只在一個節點上使用cpu。在slurm上使用python的多處理
例如,如果我有4個節點,每個節點有5個CPU,我將只同時運行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