共用方式為


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, optional]
    程式引數數目的指標。 此值可以是 Null。

  • argv [選擇性]
    程式的引數清單指標。 此值可以是 Null。

  • 必要 [in]
    所需的執行緒支援層級。 相同作業中的多個 MPI 進程可能會使用不同的值。

    MPI_THREAD_SINGLE 只有程式中的單一線程才會執行。
    MPI_THREAD_FUNNELED 進程可能包含多個執行緒,但呼叫 MPI_Init_thread 的執行緒是唯一進行 MPI 函式呼叫的執行緒。
    MPI_THREAD_SERIALIZED 進程可能包含多個執行緒,而且所有這些執行緒都可能會呼叫 MPI 函數,但一次只能呼叫一個。
    MPI_THREAD_MULTIPLE 多個應用程式執行緒可能會呼叫沒有限制的 MPI 函式。 目前只有在 Windows Server 2012、Windows Server 2012 R2、Windows 8 和 Windows 8.1 上執行的 MS-MPI V6 才支援此值。

     

  • 已提供 [out]
    提供的執行緒支援層級。 傳回的值會來自上表。

     

傳回值

如果 函式傳回成功,MPI_SUCCESS。 如果呼叫因其他原因而失敗, (例如不正確引數) ,則為其他錯誤碼。

在 Fortran 中,傳回值會儲存在 IERROR 參數中。

Fortran

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

備註

此函式只能由一個執行緒呼叫。 該執行緒稱為「主執行緒」,而且必須是相同的執行緒,才能呼叫 MPI_Finalize

MPI_Init_thread的 Fortran 系結不接受 ARGC 和 ARGV 參數。

規格需求

產品

HPC Pack 2012 MS-MPI 可轉散發套件、HPC Pack 2008 R2 MS-MPI 可轉散發套件、HPC Pack 2008 MS-MPI 可轉散發套件或 HPC Pack 2008 用戶端公用程式

標頭

Mpi.h;Mpif.h

媒體櫃

Msmpi.lib

DLL

Msmpi.dll

另請參閱

MPI 外部函式

MPI_Finalize

MPI_Init