función MPI_Win_allocate
Crea un objeto Window de MPI que asigna memoria.
Sintaxis
int MPIAPI MPI_Win_allocate(
MPI_Aint size,
int disp_unit,
MPI_Info info,
MPI_Comm comm,
_Out_ void *baseptr,
_Out_ MPI_Win *win
);
Parámetros
size
Tamaño de la ventana de memoria en bytes.disp_unit
Tamaño de unidad local para desplazamientos, en bytes.info
Argumento de información.comm
Comunicador.baseptr [out]
Dirección inicial de la ventana de memoria.win [out]
Objeto Window devuelto por la llamada.
Valor devuelto
Devuelve MPI_SUCCESS si se realiza correctamente. De lo contrario, el valor devuelto es un código de error.
En Fortran, el valor devuelto se almacena en el parámetro 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
Comentarios
Se trata de una llamada colectiva ejecutada por todos los procesos del grupo de comm. En cada proceso, asigna memoria de al menos bytes de tamaño , devuelve un puntero a él y devuelve un objeto de ventana que todos los procesos de comm pueden usar para realizar operaciones de RMA. La memoria devuelta consta de bytes de tamaño local para cada proceso, empezando por el baseptr de direcciones y está asociado a la ventana como si el usuario llamara MPI_Win_create en la memoria existente. El argumento size puede ser diferente en cada proceso y el tamaño = 0 es válido; sin embargo, una biblioteca podría asignar y exponer más memoria para crear una asignación simétrica rápida y global.
Requisitos
Producto |
Paquete redistribuible de HPC Pack 2012 MS-MPI, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package o HPC Pack 2008 Client Utilities |
Encabezado |
Mpi.h; Mpif.h |
Biblioteca |
Msmpi.lib |
Archivo DLL |
Msmpi.dll |