MPI_Compare_and_swap関数
リモートアトミック比較およびスワップ操作を実行します。
構文
int MPIAPI MPI_Compare_and_swap(
_In_ void *origin_addr,
_In_ void *compare_addr,
_Out_ void *result_addr,
MPI_Datatype datatype,
int target_rank,
MPI_Aint target_disp,
MPI_Win win
);
パラメーター
origin_addr [in]
バッファーの初期アドレスcompare_addr [in]
comparebuffer の初期アドレスresult_addr [out]
結果バッファーの初期アドレスdatatype
すべてのバッファー内の各エントリのデータ型target_rank
ターゲットのランクtarget_disp
ウィンドウの先頭からターゲット バッファーの先頭への変位win
window オブジェクト
戻り値
成功 したMPI_SUCCESS を返します。 それ以外の場合、戻り値はエラー コードです。
Fortran では、戻り値は IERROR パラメーターに格納されます。
Fortran
MPI_COMPARE_AND_SWAP(ORIGIN_ADDR, COMPARE_ADDR, RESULT_ADDR,
DATATYPE, TARGET_RANK, TARGET_DISP, WIN, IERROR)
<type> ORIGIN_ADDR(*), COMPARE_ADDR(*), RESULT_ADDR(*)
INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
INTEGER DATATYPE, TARGET_RANK, WIN, IERROR
注釈
この関数は、比較バッファー compare_addr内のデータ型の 1 つの要素を、target_rank で指定されたターゲット ウィンドウのオフセット target_dispにあるバッファーと比較し、win を実行し、比較バッファーとターゲット バッファーが同じ場合に、ターゲットの値を元のバッファー origin_addrの値に置き換えます。 ターゲットの元の値は、バッファー result_addrで返されます。 パラメーターのデータ型は、定義済みのデータ型のカテゴリ (C 整数、Fortran 整数、論理型、多言語型、または Byte) のいずれかに属している必要があります。 配信元バッファーと結果バッファー (origin_addr と result_addr) は不整合である必要があります。
要件
製品 |
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 |