MPI_Get_accumulate函式
執行不可部分完成的讀取-修改-寫入,並在累積作業之前傳回數據。
語法
int MPIAPI MPI_Get_accumulate(
_In_ void *origin_addr,
int origin_count,
MPI_Datatype origin_datatype,
_Out_ void *result_addr,
int result_count,
MPI_Datatype result_datatype,
int target_rank,
MPI_Aint target_disp,
int target_count,
MPI_Datatype datatype,
MPI_Op op,
MPI_Win win
);
參數
origin_addr [in]
緩衝區的初始位址origin_count
緩衝區中的項目數目origin_datatype
每個緩衝區項目的數據類型result_addr [out]
結果緩衝區的初始位址result_count
結果緩衝區中的項目數目result_datatype
結果緩衝區中每個專案的數據類型target_rank
目標排名target_disp
從視窗開始到目標緩衝區開頭的位移target_count
目標緩衝區中的項目數目datatype
目標緩衝區中每個專案的數據類型op
預先定義的縮減作業win
window 物件
傳回值
傳回成功 時MPI_SUCCESS 。 否則,傳回值是錯誤碼。
在 Fortran 中,傳回值會儲存在 IERROR 參數中。
Fortran
MPI_GET_ACCUMULATE(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_ADDR, RESULT_COUNT, RESULT_DATATYPE,
TARGET_RANK, TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, OP, WIN, IERROR)
<type> ORIGIN_ADDR(*), RESULT_ADDR(*)
INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_COUNT, RESULT_DATATYPE, TARGET_RANK, TARGET_COUNT,
TARGET_DATATYPE, OP, WIN, IERROR
備註
origin_datatypeorigin_count 在target_rank和win 所指定的目標視窗中,使用作業作業,並使用作業作業,在結果緩衝區result_addr result_addr累積之前,從源緩衝區 (origin_addr) ,累積至 target_disp緩衝區,並傳回結果緩衝區result_addr目標緩衝區的內容,然後target_disptarget_count和target_datatype。 從來源傳輸至目標的數據必須符合目標緩衝區中沒有截斷。 同樣地,從目標複製到原始來源的數據必須符合結果緩衝區中不需截斷的數據。
來源和結果緩衝區必須脫離 (origin_addr 和 result_addr) 。 每個數據類型自變數都必須是預先定義的數據類型或衍生數據類型,其中所有基本元件都是相同的預先定義數據類型。 所有數據類型自變數都必須從相同的預先定義數據類型建構。 作業 作業 會套用至該預先定義型別的專案。 target_datatype 不得指定重疊的專案,而且目標緩衝區必須符合目標視窗或動態視窗中的附加記憶體。 作業會針對每個基本數據類型以不可部分完成的方式執行。
規格需求
產品 |
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 |