Я получил работу МПИ я бегу в Слерма с помощью сценария 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
Но я запутался ли), что означает «монитор» будет работать в фоновом режиме и б) как я могу контролировать, где «монитор» работает.
Ах спасибо. Так что, если бы я сделал (gah глупые однострочные комментарии, надеюсь, что это имеет смысл): '<#SBATCH директивы, как указано выше> \ n monitor & \ n mpirun myprog' , тогда монитор будет работать только на" первичном "узле Это? Будет ли он по-прежнему получать целый процессор? (вы правы, что мне это не нужно - это просто скрипт, соскабливающий «верх») – lost
да, он будет работать на «основном» узле и будет выделен для группы или cpuset (в зависимости от конфигурации), выделенной к этой задаче на основном узле, практически разделяя один из процессоров с теми, которые используются процессом mpi – damienfrancois