我有包含多个节点的SLURM群集,每个节点16个vcpus。我尝试运行以下代码:
#SBATCH --nodes 2
#SBATCH --ntasks 2
#SBATCH -c 16
srun --exclusive --nodes=1 program1 &
srun --exclusive --nodes=1 program2 &
wait
program1
和program2
各自需要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上运行?
答案 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