Команда mpiexec: подробное руководство по запуску приложений MPI

Команда «mpiexec» обычно используется в средах высокопроизводительных вычислений (HPC) для запуска параллельных программ с использованием стандарта интерфейса передачи сообщений (MPI). Обычно он используется для выполнения приложений MPI на нескольких процессорах или узлах кластера. Вот некоторые методы и параметры, которые обычно используются с командой «mpiexec»:

  1. Основное использование: основной синтаксис команды «mpiexec» следующий:

    mpiexec [options] executable [arguments]
  2. Указание количества процессов: вы можете использовать опцию «-n» или «-np», за которой следует целое число, чтобы указать количество запускаемых процессов MPI. Например:

    mpiexec -n 4 myprogram
  3. Хост-файл: вы можете использовать хост-файл, чтобы указать хосты или машины, на которых должны запускаться процессы MPI. Файл хоста обычно содержит список имен хостов или IP-адресов. Вы можете использовать опцию «-hostfile», чтобы указать путь к хост-файлу. Например:

    mpiexec -hostfile myhostfile.txt myprogram
  4. Привязка к процессору. Параметр «–bind-to» позволяет указать политику привязки процессов MPI к физическим процессорам. Эта опция может быть полезна для оптимизации производительности, гарантируя, что процессы назначаются конкретным процессорам. Например:

    mpiexec --bind-to core myprogram
  5. Библиотека связи. Параметр «–mca» позволяет указать пользовательские параметры для базовой реализации MPI или библиотеки связи. Эту опцию можно использовать для настройки поведения процессов MPI или включения определенных функций. Например:

    mpiexec --mca btl tcp,self myprogram
  6. Обработка ошибок. Параметр «–oversubscribe» позволяет запускать больше процессов MPI, чем количество доступных процессоров. Это может быть полезно, когда количество запрошенных процессов превышает доступные ресурсы. Например:

    mpiexec --oversubscribe -n 8 myprogram
  7. Профилирование MPI. Параметр «–profile» включает профилирование MPI, которое может предоставить подробную информацию о производительности приложений MPI. Эту опцию можно использовать с такими инструментами, как MPIP или Scalasca. Например:

    mpiexec --profile myprogram
  8. Планирование заданий. В некоторых средах высокопроизводительных вычислений планировщики заданий используются для управления распределением ресурсов. Команду «mpiexec» можно использовать вместе с командами планировщика заданий для отправки параллельных заданий. Конкретный синтаксис может различаться в зависимости от используемого планировщика заданий.