如何使用SLURM批量运行两个多处理程序?

时间:2020-07-23 20:31:32

标签: hpc slurm

我有包含多个节点的SLURM群集,每个节点16个vcpus。我尝试运行以下代码:

#SBATCH --nodes 2
#SBATCH --ntasks 2
#SBATCH -c 16

srun --exclusive --nodes=1 program1 &
srun --exclusive --nodes=1 program2 &
wait

program1program2各自需要16cpus,我希望将分配2个32核的节点,并且program1将在第一个节点上运行,而program2将在第一个节点上运行。第二个,但出现以下错误消息:

srun: error: Unable to create step for job 364966: Requested node configuration is not available

如果仅使用--nodes--ntasks键,则sbatch分配2个2 cpus的节点,如果我使用--nodes-c选项,则会收到消息{ 1}}。

如果我设置--ntasks,则SLURM会将nnodes设置为1。

我如何批量运行这两个程序,每个程序在一个节点和16个vcpus上运行?

2 个答案:

答案 0 :(得分:0)

尝试一下:

#SBATCH --nodes 2
#SBATCH --ntasks-per-node 16

srun --exclusive -n 16 program1 &
srun --exclusive -n 16 program2 &
wait

答案 1 :(得分:0)

以下似乎有效:

#SBATCH --nodes 2
#SBATCH --exclusive

srun --exclusive --nodes=1 -c 16 --ntasks 1 prog1 &
srun --exclusive --nodes=1 -c 16 --ntasks 1 prog2 &
wait