2015-09-24 6 views
2

Я получил работу МПИ я бегу в Слерма с помощью сценария sbatch, который выглядит примерно так:Выполнить «Монитор» задачи наряду с МПИ задачей Слерма

# request 384 processors across 16 nodes for exclusive use: 
#SBATCH --exclusive 
#SBATCH --ntasks-per-node=24 
#SBATCH -n 384 
#SBATCH -N 16 
#SBATCH --time 3-00:00:00 
mpirun myprog 

Я хочу, чтобы контролировать память/использование центрального процессора и некоторое другое поведение процессов «myprog». Я написал простой скрипт (назовите его «monitor»), который может это сделать, но я не понимаю, как использовать sbatch для запуска ОДНОЙ копии его на каждом выделенном узле, в то же время, что и «myprog».

Я думаю, что нужно изменить выше, чтобы что-то вроде:

... 
srun monitor 
mpirun myprog 

Но я запутался ли), что означает «монитор» будет работать в фоновом режиме и б) как я могу контролировать, где «монитор» работает.

ответ

1

Чтобы monitor запустить «в фоновом режиме», поэтому на самом деле srun неблокирующая и последующая mpirun команда может начать, вам нужно просто добавить амперсанд (&) в конце.

Чтобы убедиться, что программа выполняется на «главном узле» распределения, просто удалите команду srun.

Если вам нужна эта программа для запуска на конкретный узле, используйте -n1 --nodelist вариант (вы, вероятно, в первую очередь необходимо, чтобы получить список всех выделенных узлов первым.) Вы должны также рассмотреть возможность использования --overcommit варианта srun избежать посвящая полный процессор для вашей программы мониторинга, который, как я полагаю, не связан с ЦП.

+0

Ах спасибо. Так что, если бы я сделал (gah глупые однострочные комментарии, надеюсь, что это имеет смысл): '<#SBATCH директивы, как указано выше> \ n monitor & \ n mpirun myprog' , тогда монитор будет работать только на" первичном "узле Это? Будет ли он по-прежнему получать целый процессор? (вы правы, что мне это не нужно - это просто скрипт, соскабливающий «верх») – lost

+0

да, он будет работать на «основном» узле и будет выделен для группы или cpuset (в зависимости от конфигурации), выделенной к этой задаче на основном узле, практически разделяя один из процессоров с теми, которые используются процессом mpi – damienfrancois