MPI_Win_allocate 函数
创建分配内存的 MPI Window 对象。
语法
int MPIAPI MPI_Win_allocate(
MPI_Aint size,
int disp_unit,
MPI_Info info,
MPI_Comm comm,
_Out_ void *baseptr,
_Out_ MPI_Win *win
);
parameters
大小
内存窗口的大小(以字节为单位)。disp_unit
位移的本地单位大小(以字节为单位)。info
Info 参数。comm
沟通。baseptr [out]
内存窗口的初始地址。win [out]
调用返回的 Window 对象。
返回值
返回成功 时MPI_SUCCESS 。 否则,返回值为错误代码。
在 Fortran 中,返回值存储在 IERROR 参数中。
Fortran
MPI_WIN_ALLOCATE(SIZE, DISP_UNIT, INFO, COMM, BASEPTR, WIN, IERROR)
<type> BASEPTR(*)
INTEGER(KIND=MPI_ADDRESS_KIND) SIZE
INTEGER DISP_UNIT, INFO, COMM, WIN, IERROR
注解
这是由 通信组中的所有进程执行的集体调用。在每个进程中,它分配至少 为字节大小的 内存,返回指向它的指针,并返回一个窗口对象,comm 中的所有进程都可以使用该对象来执行 RMA 操作。 返回的内存由每个进程的本地 字节大小 组成,从地址 baseptr 开始,并与窗口相关联,就好像调用用户 MPI_Win_create 现有内存一样。 每个进程的大小参数可能不同,大小 = 0 有效;但是,库可能会分配并公开更多的内存,以便创建快速的全局对称分配。
要求
产品 |
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 |