MPI_Win_lock, fonction
Commence une époque d’accès RMA au niveau du processus cible.
Syntaxe
int MPIAPI MPI_Win_lock(
int lock_type,
int rank,
int assert,
MPI_Win win
);
Paramètres
lock_type
Indique si d’autres processus peuvent accéder à la fenêtre cible en même temps (si MPI_LOCK_SHARED) ou non (MPI_LOCK_EXCLUSIVE).rank
Classement de la fenêtre verrouillée.Affirmer
Utilisé pour optimiser cet appel ; zéro peut être utilisé comme valeur par défaut.win
Objet Window.
Valeur retournée
Retourne MPI_SUCCESS en cas de réussite. Sinon, la valeur de retour est un code d’erreur.
Dans Fortran, la valeur de retour est stockée dans le paramètre IERROR .
Fortran
MPI_WIN_LOCK(LOCK_TYPE, RANK, ASSERT, WIN, IERROR)
INTEGER LOCK_TYPE, RANK, ASSERT, WIN, IERROR
Remarques
Le nom de cette routine est trompeur. En particulier, cette routine n’a pas besoin de bloquer, sauf lorsque le processus cible est le processus appelant.
Les implémentations peuvent restreindre l’utilisation de la communication RMA qui est synchronisée par des appels de verrouillage vers des fenêtres en mémoire allouée par MPI_Alloc_mem. Les verrous ne peuvent être utilisés de manière portable que dans une telle mémoire.
L’argument assert est utilisé pour indiquer des conditions spéciales pour la clôture qu’une implémentation peut utiliser pour optimiser l’opération MPI_Win_fence . La valeur zéro est toujours correcte. D’autres valeurs d’assertion peuvent être OUcombinées. Les assertions valides pour MPI_Win_fence sont les suivantes :
- MPI_MODE_NOCHECK : aucun autre processus ne tient ou tente d’acquérir un verrou en conflit, tandis que l’appelant détient le verrou de fenêtre. Cela est utile lorsque l’exclusion mutuelle est obtenue par d’autres moyens, mais les opérations de cohérence qui peuvent être attachées aux appels de verrouillage et de déverrouillage sont toujours nécessaires.
Configuration requise
Produit |
Package redistribuable MS-MPI HPC Pack 2012, package redistribuable HPC Pack 2008 R2 MS-MPI, package redistribuable MS-MPI HPC Pack 2008 ou utilitaires clients HPC Pack 2008 |
En-tête |
Mpi.h ; Mpif.h |
Bibliothèque |
Msmpi.lib |
DLL |
Msmpi.dll |