Compartir a través de


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

Consulte también

Funciones de comunicaciones de MPI One-Sided