función MPI_Win_allocate_shared
Crea un objeto Window de MPI que asigna memoria, se puede tener acceso a la memoria asignada desde todos los procesos del grupo de la ventana con instrucciones directas de carga y almacenamiento.
Sintaxis
int MPIAPI MPI_Win_allocate_shared(
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
Intra-communicator.baseptr [out]
Dirección del segmento de ventana asignado local.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_SHARED(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 compartido entre todos los procesos de comm y devuelve un puntero al segmento asignado localmente en baseptr que se puede usar para el acceso de carga y almacenamiento en el proceso de llamada. La memoria asignada localmente puede ser el destino de los accesos de carga/almacén por procesos remotos; los punteros base para otros procesos se pueden consultar mediante la función MPI_Win_shared_query. La llamada también devuelve un objeto de ventana que todos los procesos de comm pueden usar para realizar operaciones de RMA. El argumento size puede ser diferente en cada proceso y el tamaño = 0 es válido. Es responsabilidad del usuario asegurarse de que el comunicador representa un grupo de procesos que pueden crear un segmento de memoria compartido al que puedan acceder todos los procesos del grupo.
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 |