MPI_Mrecv関数
MPI_MprobeまたはMPI_Improbeに一致するメッセージに対してブロック受信を実行します。
構文
int MPIAPI MPI_Mrecv(
_Out_ void *buf,
_In_ int count,
_In_ MPI_Datatype datatype,
_Inout_ MPI_Message *message,
_Out_ MPI_Status *status
);
パラメーター
buf [out]
受信バッファーのアドレスへのポインター。count [in]
buf 内のデータ型要素の数。datatype [in]
バッファー配列内の要素の MPI データ型。message [in, out]
メッセージへのポインターを格納します。status [out]
戻り値には、メッセージに関する情報が格納される MPI_Status 構造体へのポインターが含まれます。
戻り値
成功 したMPI_SUCCESS を返します。 それ以外の場合、戻り値はエラー コードです。
Fortran では、戻り値は IERROR パラメーターに格納されます。
Fortran
MPI_MRECV(BUF, COUNT, DATATYPE, MESSAGE, STATUS, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR
注釈
この関数は、一致するプローブ操作で一致するメッセージを受け取ります。 受信バッファーは、データ型で指定された型の count 連続要素を含むストレージで構成され、アドレス buf から始まります。 受信メッセージの長さは、受信バッファーの長さ以下である必要があります。 オーバーフロー エラーは、すべての受信データが切り捨てずに受信バッファーに収まらない場合に発生します。
メッセージが受信バッファーよりも短い場合は、 (短い) メッセージに対応する場所のみが変更されます。
この関数から返されると、メッセージ ハンドルは MPI_MESSAGE_NULL に設定されます。 この操作の実行中に発生するすべてのエラーは、メッセージ ハンドルを生成した一致するプローブ呼び出しで使用されるコミュニケーターに対して設定されたエラー ハンドラーに従って処理されます
要件
製品 |
Microsoft MPI v6 |
ヘッダー |
Mpi.h;Mpif.h |
ライブラリ |
Msmpi.lib |
[DLL] |
Msmpi.dll |