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 指定的目标窗口中,从源缓冲区 (origin_addr) target_disp) 到target_rank和 win 指定的目标窗口中的一个数据类型类型的元素,并在结果缓冲区中返回result_addr累积之前目标缓冲区的内容。
(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 |