Partager via


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

Voir aussi

Fonctions de communication One-Sided MPI