mpiexec: запуск программы без процессов

Я хочу получить сообщение об ошибке и нормально выйти, если -np установлен в ноль в командной строке. Есть какой-либо способ сделать это? Такое впечатление, что программа перестает работать, даже не запустившись.


person Manos Ntoulias    schedule 25.09.2015    source источник


Ответы (1)


Нулевое количество процессов действительно означает, что он вообще не запускает никаких процессов. Как вы можете получить какой-либо результат, если у вас нет процесса для его создания? Нет процесса - это просто нет процесса. Ничего не работает. Например, если вы вообще не запускаете mpiexec.

Я не понимаю, какое сообщение об ошибке вы ожидаете увидеть. Возможно, вы действительно хотите 1 процесс?

Я только что протестировал mpiexec, поставляемый с OpenMPI на моем компьютере, и он запускает 1 процесс, если вы запрашиваете -np 0. Другие реализации могут вести себя иначе.

person Vladimir F    schedule 25.09.2015
comment
Я просто хотел это ради того, чтобы быть удобным для пользователя. Я не хочу, чтобы другие прослушивали это намеренно. С нулевыми процессами он блокирует командную строку, и единственный вариант, который у меня есть, это убить его. Я использую обычный mpi. Редактировать: с контролем c я получаю сообщение: (mpiexec 440): mpiexec: не удалось получить носок от менеджера - person Manos Ntoulias; 26.09.2015
comment
Вы должны действительно описать, какую библиотеку MPI вы используете, какую программу вы пытаетесь запустить и что именно происходит и что вы хотите, чтобы произошло. Например, вы используете MPICH или OpenMPI или что-то еще? На какой операционной системе? Даже если вы заставите его делать то, что вы хотите в одном случае, он будет непредсказуемым в другом. - person Vladimir F; 26.09.2015
comment
Ничего себе, mpich ужасно обрабатывает '0', с кучей ошибок Hydra и segfault. я открою билет - person Rob Latham; 01.10.2015