Compartir a través de


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

Consulte también

Funciones de comunicaciones de MPI One-Sided