次の方法で共有


MPI_Waitsome関数

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

構文

int MPIAPI MPI_Waitsome(
        int                                         incount,
        _Inout_count_(incount) MPI_Request          array_of_requests,
  _Out_ int                                         *outcount,
        _Out_cap_post_count_(incount,*outcount) int *array_of_indices,
        _Out_cap_post_count_(incount,*outcount)     *array_of_statuses
);

パラメーター

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

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

  • outcount [out]
    完了した要求の数。

  • array_of_indices
    完了した操作の array_of_requests 内のインデックスの配列。 array_of_requestsは、C では 0 から、Fortran では 1 からインデックスが作成されます。

  • array_of_statuses
    完了した操作の状態オブジェクトの配列、または MPI_STATUSES_IGNORE

戻り値

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

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

Fortran

    MPI_WAITSOME(INCOUNT, ARRAY_OF_REQUESTS, OUTCOUNT, ARRAY_OF_INDICES, ARRAY_OF_STATUSES, IERROR)
        INTEGER INCOUNT, ARRAY_OF_REQUESTS(*), OUTCOUNT, ARRAY_OF_INDICES(*),
        ARRAY_OF_STATUSES(MPI_STATUS_SIZE,*), IERROR

注釈

indicies の配列は、C の場合は 0 から incount - 1 、Fortran の場合は 1 から incount の範囲です。

NULL 要求は無視されます。すべての要求が NULL の場合、ルーチンは outcountMPI_UNDEFINED に設定して を返します。

array_of_requestsで要求ハンドルを複数回一覧表示することは可能ですが、このようなアクションは誤ったと見なされ、プログラムが実行されていない終了または正しくない結果を生成する可能性があります。

MPI_Waitsome は Unix の 'select' 呼び出しや 'poll' 呼び出しと同様のインターフェイスを提供し、高いレベルの実装では、MPI_Waitsomeが呼び出されたときに完了したすべての要求 示します。 ただし、 MPI_Waitsome は、少なくとも 1 つの要求が完了したことを保証するだけです。 完了したすべての 要求が返される保証や、 array_of_indices のエントリが増加する順序になることは保証されません。 また、 MPI_Waitsome の実行中に完了した要求は、メッセージの完了のタイミングによっては返される場合と、返されない場合があります。

要件

製品

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 ポイント間関数