скрипт mpisubmit.pl

Для упрощения процесса постановки задач, написанных с использованием стандарта MPI или OpenMP (или MPI+OpenMP), в очередь была разработана утилита mpisubmit.pl, очень похожая на ту, что в течение нескольких лет успешно используется на системе BlueGene/P.

Также как и на BlueGene в общем виде вызов утилиты выглядит следующим образом:

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

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

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

Аргумент Значение
по умолчанию
Описание
-p |--processes
1
Запрашиваемое число MPI процессов*
-w |--wtime
00:15
Максимальное время выполнения задания
-t |--threads
1
Число запрашиваемых нитей на один MPI процесс**
-g |--gpu
нет
Указывает, что задачу надо запустить на графических картах
--stdout <exec>.$(jobid).out Файл, в который будет направлен стандартный поток вывода
--stderr <exec>.$(jobid).err Файл, в который будет направлен стандартный поток ошибок
--stdin   Файл, содержимое которого будет использовано в качестве стандартного ввода
-h |--help Вывести справочную информацию о параметрах командной строки
-d |--debug Не ставить задачу в очередь, но вывести содержимое автоматически генерируемого командного файла в stdout.

* Для программ не использующих MPI предполагается равным 1

** В силу особенностей реализации, в случае если число нитей указано больше 8, количество MPI процессов должно быть кратно 4.

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

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

  • Запустить программу a.out с параметрами по умолчанию:
    $> mpisubmit.pl a.out
    
  • Запустить программу a.out создав 30 MPI процессов с лимитом времени 5 минут и передать ей два параметра (3.14, 2.72):
    $> mpisubmit.pl -p 30 -w 00:05 a.out -- 3.14 2.72
    
  • Запустить программу a.out создав 10 MPI процессов, в каждом процессе запустить 8 нитей с лимитом времени 12 минут
    $> mpisubmit.pl -p 10 -t 8 -w 00:12 a.out 
    
  • Запустить программу a.out на графической карте
    $> mpisubmit.pl --gpu a.out 
    
  • Получить краткую справку об использовании скрипта:
    $> mpisubmit.pl --help