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 |