Распределение рабочих мест HPC с Salloc & Srun
Я пытаюсь распределить процесс в HPC с 8 ядрами на узел, у меня также есть раздел с 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
Скрипт запускает 30 процессов одновременно, когда я ожидал, что 16 были запущены и 14 были поставлены в очередь.
Возможно ли такое поведение с salloc и srun?
2 ответа
Решение
Вы могли бы использовать sbatch, а не salloc, и ваш оригинальный скрипт, скорее всего, дал бы ожидаемый результат
Наконец, я нашел решение, только добавив следующие параметры в команду srun:
srun --ntasks=1 --exclusive ....