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 对象。request [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 |