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 tamponresult_addr [out]
adresse initiale de la mémoire tampon de résultatsdatatype
type de données de chaque entrée dans l’origine, le résultat et la mémoire tampon cibletarget_rank
classement de la cibletarget_disp
déplacement du début de la fenêtre au début de la mémoire tampon cibleOp
opération de réductionwin
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 |