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 |