Использование скрипта mpisubmit.bg

Для упрощения процесса постановки задач в очередь, была разработана утилита mpisubmit.bg, очень похожая на ту, что в течение нескольких лет успешно используется на системе Regatta.

В общем виде вызов утилиты выглядит следующим образом:

mpisubmit.bg [параметры скрипта] исполняемый_файл [-- параметры исполняемого файла]

Необходимо отметить, что если пользовательская программа принимает параметры через интерфейс командной строки, то их нужно отделить двойным минусом («--») от имени исполняемого файла.

Описание параметров утилиты mpisubmit.bg приведено в таблице.

Аргумент Значение
по умолчанию
Описание
-n | --nproc 128 Запрашиваемое число вычислительных узлов
-m | --mode smp Режим выполнения задания; возможные значения: smp, dual, vn
-w | --wtime 00:15:00 Максимальное время выполнения задания
-e | --env   Переменные окружения в формате "env=val env=val ..."
-t | --top PREFER_TORUS Топология связи между вычислительными узлами; возможные значения: TORUS, MESH, PREFER_TORUS
--stdout <exec>.$(jobid).out Файл, в который будет направлен стандартный поток вывода
--stderr <exec>.$(jobid).err Файл, в который будет направлен стандартный поток ошибок
--stdin   Файл, содержимое которого будет использовано в качестве стандартного ввода
-c | --class Вывести название предопределенного класса задания, который будет использован при данных аргументах --nproc и --wtime
-h | --help Вывести справочную информацию о параметрах командной строки
-d | --debug Не ставить задачу в очередь, но вывести содержимое автоматически генерируемого командного файла в stdout.

Пожалуйста, имейте в виду, что недопустимо удалять исполняемый файл до того, как программа завершит свою работу. Кроме того, не забывайте, что программа должна иметь права на исполнение (например, -rwxr-xr-x).

Примеры использования

  • Запустить программу a.out с параметрами по умолчанию:
    $> mpisubmit.bg a.out
    
  • Запустить программу a.out на 256 вычислительных узлах в режиме VN с лимитом времени 5 минут и передать ей два параметра (3.14, 2.72):
    $> mpisubmit.bg -n 256 -w 00:05:00 -m vn a.out -- 3.14 2.72
    
  • Запустить программу a.out на 256 вычислительных узлах в режиме DUAL с лимитом времени по умолчанию, выставить переменные окружения OMP_NUM_THREADS и SOME_ENV_VAR:
    $> mpisubmit.bg -n 256 -m dual -e "OMP_NUM_THREADS=2 SOME_ENV_VAR=8" a.out
    
  • Узнать, к какому классу будет принадлежать задача, запускаемая на 256 вычислительных узлах с лимитом времени 5 минут:
    $> mpisubmit.bg --nproc 256 --wtime 00:05:00 --class
    
  • Получить краткую справку об использовании скрипта:
    $> mpisubmit.bg --help
    

Запуск заданий отдельными категориями пользователей

Отдельным категориям пользователей разрешен запуск заданий, использующих вычислительные мощности большего объема. Администратор системы сообщает таким пользователям класс разрешенных для них заданий. Имя этого класса (например, allowed) необходимо указывать в качестве параметра:

$> mpisubmit.bg -g allowed -n 2048 -w 24:00:00 a.out