次の方法で共有


MPI_Waitany関数

いくつかの未処理の操作のうち 1 つを完了します。

構文

int MPIAPI MPI_Waitany(
        int                              count,
        _Inout_count_(count) MPI_Request *array_of_requests,
  _Out_ int                              *index,
  _Out_ MPI_Status                       *status
);

パラメーター

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

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

  • index [out]
    完了した操作の array_of_requests パラメーター内のインデックスを示す整数へのポインター。 配列のインデックスは、C では 0 から、Fortran では 1 からインデックスが作成されます。

  • status [out]
    完了した操作を記述する MPI_Status オブジェクトへのポインター。

戻り値

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

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

Fortran

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

注釈

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

この関数は、 array_of_requests パラメーター内のアクティブな要求に関連付けられている操作の 1 つが完了したときにを返します。 複数の未処理の操作が完了した場合は、1 つが任意に選択されます。 完了した操作が永続的な通信操作である場合、永続要求は非アクティブとしてマークされます。 非永続操作の割り当てが解除され、 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_Testany

MPI_Wait

MPI_Waitall

MPI_Waitsome

MPI_Status