funktionen MPI_Fetch_and_op
Utför atomic read-modify-write på ett dataelement och returnerar dataelementet före den ackumulerade åtgärden.
Syntax
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
);
Parametrar
origin_addr [in]
buffertens initiala adressresult_addr [ut]
startadress för resultatbuffertDatatyp
datatyp för varje post i ursprung, resultat och målbufferttarget_rank
rangordning för måltarget_disp
förskjutning från början av fönstret till början av målbuffertenOp
reduce-åtgärdVinna
fönsterobjekt
Returvärde
Returnerar MPI_SUCCESS vid lyckat resultat. Annars är returvärdet en felkod.
I Fortran lagras returvärdet i parametern 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
Kommentarer
Ackumulera ett element av typen datatyp från ursprungsbufferten (origin_addr) till bufferten vid förskjutning target_disp, i målfönstret som anges av target_rank och vinna, med hjälp av åtgärden op och returnera i resultatbufferten result_addr innehållet i målbufferten före ackumuleringen.
Ursprunget och resultatbuffertarna (origin_addr och result_addr) måste vara åtskilda. Alla fördefinierade åtgärder för MPI_Reduce, samt MPI_NO_OP eller MPI_REPLACE, kan anges som op; användardefinierade funktioner kan inte användas. Argumentet datatyp måste vara en fördefinierad datatyp. Åtgärden körs atomiskt.
Krav
Produkt |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package eller HPC Pack 2008 Client Utilities |
Huvud |
Mpi.h; Mpif.h |
Bibliotek |
Msmpi.lib |
DLL |
Msmpi.dll |