MPI_Fetch_and_op 函式
在一個資料元素上執行不可部分完成的讀取-修改寫入,並在累積作業之前傳回資料元素。
語法
int MPIAPI MPI_Fetch_and_op(
_In_ void *origin_addr,
_Out_ void *result_addr,
MPI_Datatype datatype,
int target_rank,
MPI_Aint target_disp,
MPI_Op op,
MPI_Win win
);
參數
origin_addr [in]
緩衝區的初始位址result_addr [out]
結果緩衝區的初始位址datatype
來源、結果和目標緩衝區中每個專案的資料類型target_rank
目標排名target_disp
從視窗開始到目標緩衝區開頭的位移op
reduce 作業win
window 物件
傳回值
傳回成功 時MPI_SUCCESS 。 否則,傳回值是錯誤碼。
在 Fortran 中,傳回值會儲存在 IERROR 參數中。
Fortran
MPI_FETCH_AND_OP(ORIGIN_ADDR, RESULT_ADDR, DATATYPE,
TARGET_RANK, TARGET_DISP, OP, WIN, IERROR)
<type> ORIGIN_ADDR(*), RESULT_ADDR(*)
INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
INTEGER DATATYPE, TARGET_RANK, OP, WIN, IERROR
備註
在target_rank和win所指定的目標視窗中,使用作業作業作業,在結果緩衝區中傳回result_addr累積之前,從源緩衝區 (origin_addr) target_disp緩衝區,將類型資料類型的一個元素累積至緩衝區。
來源和結果緩衝區必須脫離 (origin_addr 和 result_addr) 。 任何 預先定義的MPI_Reduce作業,以及 MPI_NO_OP 或 MPI_REPLACE都可以指定為 op;無法使用使用者定義函數。 資料類型引數必須是預先定義的資料類型。 作業會以不可部分完成的方式執行。
規格需求
產品 |
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 |