MPI_Imrecv関数
MPI_MprobeまたはMPI_Improbeに一致するメッセージに対して非ブロッキング受信を実行します。
構文
int MPIAPI MPI_Imrecv(
_Out_ void *buf,
_In_ int count,
_In_ MPI_Datatype datatype,
_Inout_ MPI_Message *message,
_Out_ MPI_Request *request
);
パラメーター
buf [out]
受信バッファーのアドレスへのポインター。count [in]
buf 内のデータ型要素の数。datatype [in]
buf 内の要素の MPI データ型。message [in, out]
メッセージへのポインターを格納します。request [out]
戻り値には、通信操作を表す MPI_REQUEST ハンドルへのポインターが含まれます。
戻り値
成功 したMPI_SUCCESS を返します。 それ以外の場合、戻り値はエラー コードです。
Fortran では、戻り値は IERROR パラメーターに格納されます。
Fortran
MPI_IMRECV(BUF, COUNT, DATATYPE, MESSAGE, REQUEST, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, MESSAGE, REQUEST, IERROR
注釈
この関数は、 MPI_Mrecv の非ブロッキングバリアントであり、一致したメッセージの非ブロッキング受信を開始します。 完了セマンティクスは 、MPI_Irecvに似ています。
この関数から返されると、メッセージ ハンドルは MPI_MESSAGE_NULL に設定されます。
この関数がメッセージ引数としてMPI_MESSAGE_NO_PROCで呼び出された場合、呼び出しは要求オブジェクトをすぐに返します。この要求オブジェクトは、完了すると、MPI_PROC_NULLからの受信が発行されたかのように、ソース = MPI_PROC_NULL、タグ = MPI_ANY_TAG、count = 0 に設定された状態オブジェクトを生成します。 MPI_MESSAGE_NULLを使用したこの関数の呼び出しが誤っています。
要件
製品 |
Microsoft MPI v6 |
ヘッダー |
Mpi.h;Mpif.h |
ライブラリ |
Msmpi.lib |
[DLL] |
Msmpi.dll |