Python 将并行slurm作业与mpirun结合使用可运行多个节点

Python 将并行slurm作业与mpirun结合使用可运行多个节点,python,mpi,openmpi,slurm,sbatch,Python,Mpi,Openmpi,Slurm,Sbatch,我要求解决一个我没有落后的问题。我使用的是slurm集群,有一个python脚本“SOLVER.py”,它在代码中使用mpirun命令(称为数值光谱元素模拟)。集群上的每个节点由40个处理器组成。例如,我想调用5个节点,在每个节点上运行脚本“solver.py”(5次,并行),每个节点有40个处理器 #!/bin/bash # #SBATCH --job-name=solv #SBATCH --comment="example" #SBATCH --exclusive #S

我要求解决一个我没有落后的问题。我使用的是slurm集群,有一个python脚本“SOLVER.py”,它在代码中使用mpirun命令(称为数值光谱元素模拟)。集群上的每个节点由40个处理器组成。例如,我想调用5个节点,在每个节点上运行脚本“solver.py”(5次,并行),每个节点有40个处理器


#!/bin/bash
#
#SBATCH --job-name=solv
#SBATCH --comment="example"
#SBATCH --exclusive
#SBATCH --workdir=.  ### directory where the job should be executed from
#SBATCH --mem=150000        ### RAM in MB required for the job (this is mandatory!!!)
#SBATCH --nodes=1               ### Node count required for the job
#SBATCH --exclusive
#SBATCH --output=slurm.%j.out       ### output file for console output
#SBATCH --partition=long    ### partition where the job should run (short|medium|long|fatnodes)
# ...

#export OMP_NUM_THREADS=160
python SOLVER.py
。。很好。现在,在5个节点上运行脚本5次的正确方法是什么? 我尝试了很多不同的东西,不同的NTASK,不同的srun组合和一个名为jug的插件,但总是遇到不同的问题

有人能帮我吗?:)

致以最良好的祝愿


Max

为什么不向一个节点分别提交5个作业?再加上一个,您可以使用作业数组that@Stefan:谢谢你的回答。你是说打5次sbatch./myscript.sh?这是因为系统仅限于一定数量的作业(但不限于一定数量的节点,我认为这有点愚蠢……):(你知道我怎样才能把它放在一个脚本/一个作业中吗?@GillesGouaillardet:谢谢你的回答!我想这会和上面Stefan的propoal有相同的效果,或者没有?这是特定于站点的,一个作业数组n(sub)可能会收获更多节点)作业vs n个独立的单节点作业。我建议您尝试一下,看看如何进行。为什么不将每个作业提交给一个节点5个作业?加上一个,您可以使用作业数组that@Stefan:谢谢您的回答。您的意思是呼叫5次sbatch./myscript.sh?这是因为系统仅限于一定数量的作业(但不是对许多节点,我认为这有点愚蠢。)(你知道我如何把它放在一个脚本/一个作业中吗?@GillesGouaillardet:也谢谢你的回答!我认为这会与上面Stefan的propoal有相同的效果,还是没有?这是特定于站点的,你可以用一个作业数组n(sub)获取更多节点作业与n个独立的单节点作业。我建议您尝试一下,看看效果如何。