MPI_Rsend関数
準備モードの送信操作を実行し、送信バッファーを安全に再利用できる場合に を返します。
構文
int MPIAPI MPI_Rsend(
_In_opt_ void *buf,
int count,
MPI_Datatype datatype,
int dest,
int tag,
MPI_Comm comm
);
パラメーター
buf [in, optional]
送信するデータを含むバッファーへのポインター。count
バッファー内の要素の数。 メッセージのデータ部分が空の場合は、 count パラメーターを 0 に設定します。datatype
バッファー内の要素のデータ型。dest
comm パラメーターで指定されたコミュニケーター内の宛先プロセスのランク。tag
さまざまな種類のメッセージを区別するために使用できるメッセージ タグ。comm
コミュニケーターへのハンドル。
戻り値
成功 したMPI_SUCCESS を返します。 それ以外の場合、戻り値はエラー コードです。
Fortran では、戻り値は IERROR パラメーターに格納されます。
Fortran
MPI_RSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR
注釈
この関数はローカル以外です。 この関数は、送信バッファーを再利用できるとすぐにを返し、一致する受信操作の状態に依存しません。 ただし、送信操作全体が正常に完了するかどうかは、一致する受信操作の存在によって異なります。
この関数は、一致する受信操作が既に転記されている場合にのみ呼び出すことができます。 それ以外の場合、関数はエラーを返し、その結果は未定義です。 一部のシステムでは、この要件により、他のモードで使用されるハンドシェイクの一部が排除され、標準または同期送信操作と比較してパフォーマンスが向上する可能性があります。
MPI_Rsend関数は、MPI_Send関数およびMPI_Ssend関数と同じセマンティクスを持ちますが、一致する受信が既に投稿されていることをシステムに通知します。 この情報により、オーバーヘッドが少し節約される可能性があります。 したがって、正しいプログラムでは、準備完了の送信を標準送信に置き換え、パフォーマンス以外のプログラムの動作に影響を与えることができません。
要件
製品 |
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 |