Запуск программ, использующих MPI

Запуск на исполнение MPI-программы производится с помощью команды:

mpirun [параметры_mpirun...] <имя_программы> [парамет-ры_программы...] [-host ]

Параметры команды mpirun слелующие:

-h

интерактивная подсказка по параметрам команды mpirun.

-maxtime <максимальное_время>

Максимальное время счета. От этого времени зависит положение задачи в очереди. После истечения этого времени задача принудительно заканчивается.

-np <число_процессоров>

Число процессоров, требуемое программе.

-quantum <значение_кванта_времени>

Этот параметр указывает, что задача является фоновой, и задает размер кванта для фоновой задачи.

-restart

Указание этого ключа приведет к тому, что после своего завершения за-дача будет вновь поставлена в очередь. Для удаления из очереди такой задачи пользуйтесь стандартной командой mqdel, а для ее завершения - командами mkill или mterm.

-stdiodir <имя_директории>

Этот параметр задает имя каталога стандартного ввода/вывода, в который будут записываться протокол запуска задачи, файл стандартного вывода и име-на модулей, на которых запускалась задача.

-stdin <имя_файла>

Этот параметр задает имя файла, на который будет перенаправлен стандартный ввод задачи.

-stdout <имя_файла>

Этот параметр задает имя файла, на который будет перенаправлен стандартный вывод задачи.

-stderr <имя_файла>

Этот параметр задает имя файла, на который будет перенаправлен стан-дартный вывод сообщений об ошибках задачи.

-interactive

Задание этого ключа делает задачу интерактивной (см. п. 13), а также отменяет действия ключей stdin, stdout, stderr.

-ldmname <имя_ресурса_ЛДП>

Этот параметр указывает на то, что задача будет использовать ресурс ЛДП с указанным именем. Если на момент запуска задачи ресурс ЛДП с указан-ным именем не существует, он будет создан временным, о чем пользователь из-вещается специальным сообщением, например:

Warning! LDM resource ldm does not exists, it will be created temporary

Для временного ресурса пользователь обязан задать размер требуемой дисковой памяти на каждом модуле (параметр ldmspace).

Для любых типов ресурсов (как разовых, создаваемых на время счета за-дачи, так и постоянных, т.е. уже выделенных на момент запуска задачи) требу-ется указание каталога монтирования (параметр mountdir).

Если в очереди или в счете у пользователя уже есть задача, использующая (или требующая) временный ресурс с таким же именем, то система выдаст со-общение об ошибке, и данная задача не будет поставлена в очередь. Подробнее о ресурсах ЛДП см. п. 5.

-ldmspace <размер_ресурса_ЛДП_на_одном_модуле>

Этот параметр имеет действие только, если указано имя ресурса ЛДП (па-раметр ldmname) и ресурс ЛДП с заданным именем не существует (т.е. для за-дачи требуется разовый или временный ресурс ЛДП). Параметр ldmspace задает размер локальной дисковой памяти на одном модуле, требуемой под временный ресурс ЛДП. Локальная дисковая память заданного размера будет выделена на каждом модуле. Размер ресурса ЛДП задается в килобайтах. Подробнее о ресур-сах ЛДП см. п. 5.

-mountdir <имя_каталога_монтирования>

Этот параметр имеет действие только, если указано имя ресурса ЛДП (па-раметр ldmname). Параметр mountdir задает имя каталога монтирования для ресурса ЛДП. Монтирование ресурса ЛДП к указанному Пользователем катало-гу будет производиться перед стартом задачи на каждом вычислительном моду-ле. ВНИМАНИЕ! Монтирования ресурса ЛДП на сервер доступа или управ-ляющую ЭВМ при старте задачи не производится! Подробнее о ресурсах ЛДП см. п. 5.

-termtime <дополнительное_время>

Этот параметр задает дополнительное время для завершения задачи. Вре-мя задается в минутах. Подробнее о дополнительном времени см. п. 4.

-termsignal <сигнал_для_завершения>

Этот параметр имеет действие только, если задано дополнительное время для завершения задачи (параметр termtime). Параметр termsignal задает сигнал, который будет разослан всем процессам задачи в качестве предупреждения о предстоящем завершении. Формат задания сигнала должен соответствовать ко-манде kill (pkill). Пользователь должен самостоятельно определить обработчик сигнала в своей программе. Подробнее о дополнительном времени см. п. 4. Подробнее о сигналах см. описание системных вызовов kill() и signal().

-transform <имя_командного_файла>

При запуске задачи происходит преобразование списка выделенных за-даче вычислительных модулей в формат среды программирования MPICH. По умолчанию системой используется командный файл /common/runmvs/bin/p4togm.sh. Параметр имя_командного_файла задает ко-мандный файл, который выполнит указанное преобразование вместо стандарт-ного файла p4togm.sh. Необходимо учесть, что при вызове данный командный файл получит два параметра: файл со списком узлов выделенных задаче и пол-ное имя файла запускаемой программы. Подробнее форматы этих файлов и описание ключа transform можно найти в разделе "Интерфейс между средой для разработки параллельных программ и системой управления прохождением задач" Руководства администратора.

-width

Использовать альтернативный способ нумерации процессоров. По умол-чанию процессы задачи распределяются по процессорам выделенных модулей в следующем порядке: 1-й процесс - на 1-й процессор 1-го модуля, 2?й процесс - на 1-й процессор 2-го модуля, 3-й процесс - на 1-й процессор 3?го модуля и т.д. После занятия всех 1-х процессоров всех выделенных модулей занимаются 2-е процессоры в том же порядке.

При указании ключа width используется другой способ нумерации: 1-й процесс - на 1-й процессор 1-го модуля, 2?й процесс - на 2-й процессор 1-го мо-дуля, 3-й процесс - на 1-й процессор 2?го модуля и т.д.

Ключ -host описан в п. 14.

Удачно запущенная задача получает определенный номер, который добав-ляется к имени задачи. Это позволяет пользователю запускать одновременно несколько экземпляров задачи с одним и тем же именем - система присвоит ка-ждому экземпляру задачи уникальный номер. Для каждого экземпляра будет создан отдельный каталог стандартного ввода/вывода. По завершении задачи ее номер "освобождается" и будет использован повторно. При удачном старте система выдаст пользователю следующую информа-цию:

- имена свободных узлов в системе на момент запуска задачи;

- имена выделенных под задачу узлов;

- сведения о принятых системой установках по умолчанию.

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

Task "test.1" started successfully

Может случиться так, что задача не будет запущена сразу, а поставлена в очередь. В этом случае реакция системы будет следующей:

Task "test.1" was queued

В процессе работы команды mpirun образуется файл паспорта задачи <имя_программы>.img, формат которого описан ниже. Данный файл может быть использован в команде mrunf.