我正在尝试在每个节点有8个内核的hpc中分发进程,我还有一个包含2个节点的分区。
我已经完成了这个csh测试脚本:
#!/bin/tcsh
foreach i (`seq 30`)
srun csh -c "echo 'running${i} into:'; hostname; sleep 10;echo 'end ${i}'" &
end
echo "waiting for jobs completion"
wait
我想用salloc运行它:
salloc -N2 -p mypartition testsalloc.sh
当我预计16个已启动且14个已排队时,该脚本会同时启动30个进程。
这种行为是否适用于salloc和srun?
答案 0 :(得分:1)
你可以使用sbatch而不是salloc,你原来的脚本很可能会得到预期的结果
答案 1 :(得分:0)
最后,我找到了一个解决方案,只将这个参数添加到srun命令:
srun --ntasks=1 --exclusive ....