MPI_Fetch_and_op functie
Atomisch lezen-wijzigen-schrijven op één element van gegevens en retourneert het gegevenselement vóór de accumulatiebewerking.
Syntaxis
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
);
Parameters
origin_addr [in]
initiële adres van de bufferresult_addr [uit]
initiële adres van resultaatbufferDatatype
gegevenstype van elke vermelding in oorsprong, resultaat en doelbuffertarget_rank
rang van doeltarget_disp
verplaatsing van het begin van het venster naar het begin van de doelbufferOp
reduce-bewerkingWinnen
vensterobject
Retourwaarde
Retourneert MPI_SUCCESS bij succes. Anders is de retourwaarde een foutcode.
In Fortran wordt de retourwaarde opgeslagen in de parameter 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
Opmerkingen
Verzamel één element van het type gegevenstype van de oorsprongbuffer (origin_addr) naar de buffer bij offset target_disp, in het doelvenster dat is opgegeven door target_rank en win, met behulp van de bewerking op en retour in de resultaatbuffer result_addr de inhoud van de doelbuffer vóór de accumulatie.
De oorsprongs- en resultaatbuffers (origin_addr en result_addr) moeten niet aaneengesloten zijn. Elk van de vooraf gedefinieerde bewerkingen voor MPI_Reduce, evenals MPI_NO_OP of MPI_REPLACE, kan worden opgegeven als op; door de gebruiker gedefinieerde functies kunnen niet worden gebruikt. Het argument gegevenstype moet een vooraf gedefinieerd gegevenstype zijn. De bewerking wordt atomisch uitgevoerd.
Vereisten
Product |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package of HPC Pack 2008 Client Utilities |
Header |
Mpi.h; Mpif.h |
Bibliotheek |
Msmpi.lib |
DLL |
Msmpi.dll |