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