向窗口写
MPI_PUT(origin_addr, origin_count, origin_datatype, target_rank,
target_disp, target_count, target_datatype, win) INorigin_addr本地发送缓冲区起始地址
INorigin_count 本地发送缓冲区中将要写到窗口内的数据个数 INorigin_datatype 本地发送缓冲区中的数据类型
INtarget_rank目标进程标识 INtarget_disp相对于写窗口起始地址的偏移单位,从该位置开始写
INtarget_count 以指定的数据类型为单位,写入窗口的数据的个数 INtarget_datatype写数据的数据类型
INwin窗口对象 int MPI_Put(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) MPI_PUT(ORIGIN_ADDR, ORIGIN_COUNT,
ORIGIN_DATATYPE, TARGET_RANK, TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE,
WIN, IERROR) <type> ORIGIN_ADDR(*) INTEGER (KIND=MPI_ADDRESS_KIND)
TARGET_DISP INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK, TARGET_COUNT,
TARGET_DATATYPE, WIN, IERROR MPI_PUT将本进程中从地址origin_addr开始数据类型为origin_datatype
的origin_count个数据,写入进程号为target_rank的窗口空间,具体位置是从相对与该窗口的起始位置的第target_disp个偏移位置开始,target_address=base+target_disp*disp_unit,写入target_count个target_datatype类型的数据。其中base和disp_unit是在创建窗口是指定的。 |