MPI_Rput函式
以要求為基礎的 RMA 放置作業。
語法
int MPIAPI MPI_Rput(
_In_ void *origin_addr,
int origin_count,
MPI_Datatype origin_datatype,
int target_rank,
MPI_Aint target_disp,
int target_count,
MPI_Datatype target_datatype,
MPI_Win win,
_Out_ MPI_Request *request
);
參數
origin_addr [in]
原始緩衝區的初始位址。origin_count
源緩衝區中的項目數目。origin_datatype
源緩衝區中每個專案的數據類型。target_rank
目標排名。target_disp
從視窗開頭移轉至目標緩衝區。target_count
目標緩衝區中的項目數目。target_datatype
目標緩衝區中每個專案的數據類型。win
用於通訊的 Window 物件。要求 [out]
RMA 要求。
傳回值
傳回成功 時MPI_SUCCESS 。 否則,傳回值是錯誤碼。
在 Fortran 中,傳回值會儲存在 IERROR 參數中。
Fortran
MPI_RPUT(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK,
TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, WIN, REQUEST, IERROR)
<type> ORIGIN_ADDR(*)
INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK, TARGET_COUNT,
TARGET_DATATYPE, WIN, REQUEST, IERROR
備註
MPI_Rput 類似於 MPI_Put,不同之處在於它會配置通訊要求物件,並將它與要求句柄產生關聯, (自變數 要求) 。 完成 MPI_Rput 作業 (,也就是在對應的測試或等候之後,) 表示傳送者現在可以免費更新源緩衝區中的位置。 它不會指出數據可在目標視窗使用。 如果需要遠端完成,可以使用 MPI_Win_flush、 MPI_Win_flush_all、 MPI_Win_unlock或 MPI_Win_unlock_all 。
規格需求
產品 |
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 |