Partager via


MPI_Fetch_and_op fonction

Effectue une lecture-modification-écriture atomique sur un élément de données et retourne l’élément de données avant l’opération d’accumulation.

Syntaxe

int MPIAPI MPI_Fetch_and_op(
  _In_  void         *origin_addr,
  _Out_ void         *result_addr,
        MPI_Datatype datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        MPI_Op       op,
        MPI_Win      win
);

Paramètres

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

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

  • datatype
    type de données de chaque entrée dans l’origine, le résultat et la mémoire tampon cible

  • 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

  • Op
    opération de réduction

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

Remarques

Cumulez un élément de type datatype à partir de la mémoire tampon d’origine (origin_addr) dans la mémoire tampon au target_disp de décalage, dans la fenêtre cible spécifiée par target_rank et win, à l’aide de l’opération op et retournez dans la mémoire tampon de résultat result_addr le contenu de la mémoire tampon cible avant l’accumulation.

Les mémoires tampons d’origine et de résultat (origin_addr et result_addr) doivent être disjointes. Toutes les opérations prédéfinies pour MPI_Reduce, ainsi que MPI_NO_OP ou MPI_REPLACE, peuvent être spécifiées en tant qu’opération ; Les fonctions définies par l’utilisateur ne peuvent pas être utilisées. L’argument de type de données doit être un type de données prédéfini. L’opération est exécutée de manière atomique.

Configuration requise

Produit

HpC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package ou HPC Pack 2008 Client Utilities

En-tête

Mpi.h ; Mpif.h

Bibliothèque

Msmpi.lib

DLL

Msmpi.dll

Voir aussi

Fonctions de communication MPI One-Sided