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 を指定できます。必須 [入力]
目的のスレッドサポートのレベル。 同じジョブ内の複数の MPI プロセスで異なる値が使用される場合があります。MPI_THREAD_SINGLE プログラム内の 1 つのスレッドのみが実行されます。 MPI_THREAD_FUNNELED プロセスには複数のスレッドが含まれる場合がありますが、 MPI 関数呼び出しを行うのは MPI_Init_thread を呼び出したスレッドだけです。 MPI_THREAD_SERIALIZED プロセスには複数のスレッドが含まれている場合があり、これらのスレッドはすべて MPI 関数呼び出しを行うことができますが、一度に 1 つだけです。 MPI_THREAD_MULTIPLE 複数のアプリケーション スレッドは、制限なしで MPI 関数を呼び出す場合があります。 この値は現在、Windows Server 2012、Windows Server 2012 R2、Windows 8、Windows 8.1で実行されている MS-MPI V6 でのみサポートされています。 provided [out]
指定されたスレッド サポートのレベル。 返される値は、上の表の値になります。
戻り値
関数が正常に返された場合は、MPI_SUCCESSします。 その他の理由で呼び出しが失敗した場合のその他のエラー コード (無効な引数など)。
Fortran では、戻り値は IERROR パラメーターに格納されます。
Fortran
MPI_INIT_THREAD(REQUIRED, PROVIDED, IERROR)
INTEGER REQUIRED, PROVIDED, IERROR
注釈
この関数は、1 つのスレッドでのみ呼び出す必要があります。 そのスレッドは "メイン スレッド" と呼ばれ、 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 |