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中類型數據類型的一個元素,與目標 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 |