Partager via


MPI_Compare_and_swap, fonction

Effectue une opération de comparaison atomique et d’échange à distance.

Syntaxe

int MPIAPI MPI_Compare_and_swap(
  _In_  void         *origin_addr,
  _In_  void         *compare_addr,
  _Out_ void         *result_addr,
        MPI_Datatype datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        MPI_Win      win
);

Paramètres

  • origin_addr [in]
    adresse initiale de la mémoire tampon

  • compare_addr [in]
    adresse initiale de comparebuffer

  • result_addr [out]
    adresse initiale de la mémoire tampon de résultats

  • datatype
    datatype de chaque entrée dans toutes les mémoires tampons

  • target_rank
    classement de la cible

  • target_disp
    déplacement du début de la fenêtre au début de la mémoire tampon cible

  • 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_COMPARE_AND_SWAP(ORIGIN_ADDR, COMPARE_ADDR, RESULT_ADDR,
                DATATYPE, TARGET_RANK, TARGET_DISP, WIN, IERROR)
        <type> ORIGIN_ADDR(*), COMPARE_ADDR(*), RESULT_ADDR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
        INTEGER DATATYPE, TARGET_RANK, WIN, IERROR

Remarques

Cette fonction compare un élément de type datatype dans le compare_addr de la mémoire tampon de comparaison avec la mémoire tampon au target_disp de décalage dans la fenêtre cible spécifiée par target_rank et win et remplace la valeur au niveau de la cible par la valeur dans la mémoire tampon d’origine origin_addr si la mémoire tampon de comparaison et la mémoire tampon cible sont identiques. La valeur d’origine au niveau de la cible est retournée dans la mémoire tampon result_addr. Le type de données du paramètre doit appartenir à l’une des catégories suivantes de types de données prédéfinis : entier C, Entier Fortran, Logique, Types multilingues ou Octet. Les mémoires tampons d’origine et de résultat (origin_addr et result_addr) doivent être disjointes.

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