Я выполняю задания MPI в кластере SLURM и хочу привязать результирующие процессы к определенным ядрам на узле. Это может включать разное количество процессов на разных узлах и разные шаблоны закрепления на разных узлах. Это все относительно просто, если я возьму распределение узлов с помощью salloc, построю ранговый файл для процессов mpi и запустю процессы с помощью mpirun.
К сожалению, если выделение отменяется по какой-либо причине, например, при тайм-ауте или упреждении, процессы, запущенные на узлах, будут уничтожены, но mpirun, который выполняется на головном узле, не будет уничтожен и перейдет от создания незначительной нагрузки к генерации 100 % нагрузки для потока, в котором он выполняется, на неопределенный срок.
Казалось бы, ответ - использовать srun вместо mpirun для запуска приложения, но я изо всех сил пытаюсь выяснить, как установить размещение процессов, если я это сделаю. У кого-нибудь есть предложения?
salloc
, а неsbatch
? Программа интерактивна? В противном случае сsbatch
ваш основнойmpirun
процесс будет убит. - person damienfrancois   schedule 22.12.2014