Нет выделенных ресурсов для процесса OpenMPI, запланированного PBS / Torque - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь запустить несколько процессов диспетчера MPI, по одному на узел, а затем каждый из этих диспетчеров порождает (через MPI_Comm_Spawn) на своем же узле несколько рабочих. Для этого примера у меня есть 2 менеджера и 2 рабочих на менеджера. Я следую приведенным здесь инструкциям

Управление отображением узлов MPI_COMM_SPAWN

для принудительного запуска одного процесса менеджера на узел.

Для одного из менеджеров,OpenMPI сообщает, что нет выделенных ресурсов для рабочего, который будет порожден. Я немного подозрительно, потому что в баннере, напечатанном MPI, говорится, что максимальное количество слотов для узла равно нулю. (Для другого менеджера порождение работника прошло успешно). Я предполагаю, что моя команда Torque qsub или мой файл хоста содержат ошибку.

Я пытался скомпилировать OpenMPI как с поддержкой Torque, так и без нее. Я сделал последнее, чтобы mpiexec не игнорировал указанный мной файл хоста. Ни одна попытка не исправила ошибку. В дальнейшем я использую версию OpenMPI без поддержки Torque, скомпилированной в.

Моя сокращенная команда qsub выглядит следующим образом, запрашивая 2 узла с одним менеджером и двумя работниками на каждом:

qsub -V -f -X -N MyJobName -l nodes=2:ppn=3  MyJob.bash

Мой экспериментальный файл хоста MyHostFile:

n002.cluster.com slots=3 max_slots=3
n001.cluster.com slots=3 max_slots=3

и моя команда mpiexec с аргументом "--map-by ppr: 1: node":

mpiexec --enable-recovery --display-map --display-allocation --mca mpi_param_check 1 --v --x DISPLAY --wdir ${work_dir} --hostfile MyHostFile --np 2  --map-by ppr:1:node MyManager.exe

Вот баннер и ошибкасообщение печатается при вызове MPI_Comm_spawn. Обратите внимание на поля max_slots.

======================   ALLOCATED NODES   ======================
        n002: flags=0x11 slots=3 max_slots=0 slots_inuse=3 state=UP
        n001: flags=0x13 slots=3 max_slots=0 slots_inuse=1 state=UP
=================================================================
--------------------------------------------------------------------------
There are no allocated resources for the application:
  MyWorker.exe
that match the requested mapping:
  -host: n001.cluster.com

Verify that you have mapped the allocated resources properly for the
indicated specification.

Есть идеи, почему возникает эта ошибка? Мой способ указания max_slots неверен?

Я использую OpenMPI 4.0.2, компилятор Portland Group C ++ 19.5-0, PBS 5.1.1 и CentOS 3.10.0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...