Поделиться через


функция MPI_Init_thread

Инициализирует среду выполнения вызывающего процесса MPI для выполнения потоков.

Синтаксис

int MPIAPI MPI_Init_thread(
  _In_opt_ int                        *argc,
           _In_opt_count_(*argc) char ***argv,
  _In_     int                        required,
  _Out_    int                        *provided
);

Параметры

  • argc [in, необязательный]
    Указатель на количество аргументов для программы. Это значение может иметь значение NULL.

  • argv [необязательно]
    Указатель на список аргументов для программы. Это значение может иметь значение NULL.

  • required [in]
    Уровень поддержки требуемого потока. Несколько процессов MPI в одном задании могут использовать разные значения.

    MPI_THREAD_SINGLE Будет выполняться только один поток в программе.
    MPI_THREAD_FUNNELED Процесс может содержать несколько потоков, но поток, вызывающий MPI_Init_thread , является единственным, который выполняет вызовы функций MPI.
    MPI_THREAD_SERIALIZED Процесс может содержать несколько потоков, и все эти потоки могут выполнять вызовы функций MPI, но только по одному за раз.
    MPI_THREAD_MULTIPLE Несколько потоков приложения могут вызывать функции MPI без ограничений. В настоящее время это значение поддерживается только в MS-MPI версии 6, работающей на Windows Server 2012, Windows Server 2012 R2, Windows 8 и Windows 8.1.

     

  • предоставлено [out]
    Уровень поддержки предоставленного потока. Возвращаемое значение будет из приведенной выше таблицы.

     

Возвращаемое значение

MPI_SUCCESS , если функция возвращает успешно. Другие коды ошибок, если вызов завершился ошибкой по другим причинам (например, недопустимые аргументы).

В Fortran возвращаемое значение хранится в параметре IERROR .

Fortran

    MPI_INIT_THREAD(REQUIRED, PROVIDED, IERROR)
        INTEGER REQUIRED, PROVIDED, IERROR

Комментарии

Эта функция должна вызываться только одним потоком. Этот поток будет известен как "Основной поток" и должен быть тем же потоком для вызова MPI_Finalize.

Привязка Fortran MPI_Init_thread не принимает параметры ARGC и ARGV.

Требования

Продукт

Распространяемый пакет HPC 2012 MS-MPI, пакет HPC 2008 R2 распространяемый пакет MS-MPI, пакет HPC 2008 MS-MPI или клиентские служебные программы пакета HPC 2008

Заголовок

Mpi.h; Mpif.h

Библиотека

Msmpi.lib

DLL

Msmpi.dll

См. также раздел

Внешние функции MPI

MPI_Finalize

MPI_Init