次の方法で共有


MPI_Waitall関数

複数の未処理の操作を完了します。

構文

int MPIAPI MPI_Waitall(
   int                              count,
   _Inout_count_(count) MPI_Request *array_of_requests,
   _Out_cap_(count) MPI_Status      *array_of_statuses
);

パラメーター

  • count
    array_of_requests パラメーター内のエントリの数。

  • array_of_requests
    未処理の操作 のMPI_Request ハンドルの配列。

  • array_of_statuses
    完了した操作 を記述する MPI_Status オブジェクトの配列。 状態情報が要求されない場合は 、MPI_STATUSES_IGNORE 可能性があります。

戻り値

成功 したMPI_SUCCESS を返します。 それ以外の場合、戻り値はエラー コードです。

1 つ 以上の操作 がエラーで完了した場合にMPI_ERR_IN_STATUSを返します。 失敗した操作の状態は、 array_of_statuses パラメーターの対応するエントリで返されます。

Fortran では、戻り値は IERROR パラメーターに格納されます。

Fortran

    MPI_WAITALL(COUNT, ARRAY_OF_REQUESTS, INDEX, STATUS, IERROR)
        INTEGER COUNT, ARRAY_OF_REQUESTS, INDEX, STATUS(MPI_STATUS_SIZE), IERROR

注釈

この関数はローカル以外の操作です。正常な完了は、他のプロセスでの一致操作によって異なります。

MPI_Waitallの呼び出しは、array_of_requests配列内のアクティブな要求に関連付けられているすべての操作が完了したときに返されます。 永続的な通信操作に関連付けられているエントリは、永続的な要求の結果として非アクティブとしてマークされます。 その他の操作は割り当て解除され、 array_of_requests 内の対応するエントリは MPI_REQUEST_NULL に設定されます。

array_of_requests パラメーターのエントリは、非アクティブな永続的な通信要求へのMPI_REQUEST_NULLまたはハンドルにすることができます。 count パラメーターが 0 の場合、またはarray_of_requests内のすべてのエントリがMPI_REQUEST_NULLまたは非アクティブな永続的な通信要求である場合、関数は index パラメーターを MPI_UNDEFINED に設定し、空の状態で直ちに返します。

要件

製品

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_Testall

MPI_Wait

MPI_Waitany

MPI_Waitsome

MPI_Status