Запуск программ настройки на рабочем месте в сценарии SLURM sbatch

#slurm #sbatch

Вопрос:

Как запустить установочный код в сценарии SLURM sbatch? Могу я просто использовать две srun строки?

Гарантированно ли выполнение этих двух srun строк на одном и том же узле без промежуточной очистки?

 #!/bin/bash  # Parameters #SBATCH ...  # setup srun cp /nfs/data $TMPDIR  # job srun a.out $TMPDIR  

Ответ №1:

srun Команда запустит столько экземпляров команды, сколько указано в --ntasks параметре. Он обычно используется с программами MPI и программами, которые выполняют неудобно параллельные рабочие нагрузки.

Подобная команда srun cp ... имеет смысл только в том случае, если запрашивается несколько узлов и на каждом узле выполняется только одна задача, например --nodes=N , или --ntasks=N --ntasks-per-node=1 или аналогичная комбинация. Его можно использовать для копирования файлов из сетевой файловой системы в локальную файловую систему.

Если есть только один узел и несколько задач, srun это может вызвать проблемы при одновременной попытке записи в один и тот же файл.

Если есть только одна задача, то они на самом srun деле не нужны (за исключением случаев, когда вы хотите использовать sstat их для мониторинга).

В любом случае последовательные srun операции выполняются на одних и тех же наборах узлов без очистки.

Комментарии:

1. Можете ли вы привести пример того, как это сделать?

2. не без более конкретной информации о типе работы и о том, какова ее цель