Torque/OpenMPI динамически распределяет узлы в зависимости от количества процессоров

Мне было интересно, достаточно ли крутит Torque, чтобы назначить правильное количество узлов в зависимости от того, сколько MPI-ядер вы запрашиваете. Для нашего кластера у нас есть разнородные узлы, и это может быть довольно расточительным, просто указать желаемое количество узлов и процессоров на узел. Поэтому мне было интересно, если вы могли бы просто сделать что-то подобное

qsub -I -l procs:1000
mpiexec -n 1000 mympijob

Тем не менее, крутящий момент выделяет только один узел с этой командой (так как я не указал количество узлов). Есть ли способ правильного количества узлов на основе моего количества процедур, чтобы он мог быть максимально эффективным?

Боковая панель - Мы, вероятно, скоро перейдем на SLURM, это хорошо в пределах возможностей?

1 ответ

Как правило, то, что мы делаем после распределения ресурсов, не является тем, что планировщик может контролировать.

В этом случае,

mpirun/mpiexec -n 1000

исполняется после того, как ресурсы выделены schduler.

Лучший способ продвинуться вперед - это использовать переменные среды, установленные планировщиком

$MPI_HOSTS

так как значение передается через переключатель -n.

пример:

mpirun $MPI_HOSTS <your program of choice>

Вы можете запросить нужное количество ядер, добавив аргумент ppn к узлам.

qsub -l nodes=2:ppn=16

Это выделяет 32 ядра в двух узлах.

Другие вопросы по тегам