Compartir a través de


función MPI_Win_lock

Comienza una época de acceso de RMA en el proceso de destino.

Sintaxis

int MPIAPI MPI_Win_lock(
   int     lock_type,
   int     rank,
   int     assert,
   MPI_Win win
);

Parámetros

  • lock_type
    Indica si otros procesos pueden acceder a la ventana de destino al mismo tiempo (si MPI_LOCK_SHARED) o no (MPI_LOCK_EXCLUSIVE).

  • rank
    Rango de la ventana bloqueada.

  • Afirmar
    Se usa para optimizar esta llamada; cero se puede usar como valor predeterminado.

  • win
    Window (objeto).

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_LOCK(LOCK_TYPE, RANK, ASSERT, WIN, IERROR)
        INTEGER LOCK_TYPE, RANK, ASSERT, WIN, IERROR

Comentarios

El nombre de esta rutina es engañoso. En concreto, esta rutina no necesita bloquearse, excepto cuando el proceso de destino es el proceso de llamada.

Las implementaciones pueden restringir el uso de la comunicación RMA que se sincroniza mediante llamadas de bloqueo a ventanas en memoria asignadas por MPI_Alloc_mem. Los bloqueos solo se pueden usar de forma portable en dicha memoria.

El argumento assert se usa para indicar condiciones especiales para la barrera que una implementación puede usar para optimizar la operación de MPI_Win_fence . El valor cero siempre es correcto. Otros valores de aserción pueden ser ORjuntos. Las aserciones válidas para MPI_Win_fence son:

  • MPI_MODE_NOCHECK : ningún otro proceso contiene o intentará adquirir un bloqueo en conflicto, mientras que el autor de la llamada contiene el bloqueo de ventana. Esto es útil cuando la exclusión mutua se logra por otros medios, pero las operaciones de coherencia que se pueden adjuntar al bloqueo y desbloquear llamadas siguen siendo necesarias.

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