funktionen MPI_Get_accumulate
Utför atomisk läs-ändra-skrivning och returnerar data före den ackumulerade åtgärden.
Syntax
int MPIAPI MPI_Get_accumulate(
_In_ void *origin_addr,
int origin_count,
MPI_Datatype origin_datatype,
_Out_ void *result_addr,
int result_count,
MPI_Datatype result_datatype,
int target_rank,
MPI_Aint target_disp,
int target_count,
MPI_Datatype datatype,
MPI_Op op,
MPI_Win win
);
Parametrar
origin_addr [in]
buffertens initiala adressorigin_count
antal poster i buffertenorigin_datatype
datatyp för varje buffertpostresult_addr [ut]
startadress för resultatbuffertresult_count
antal poster i resultatbuffertenresult_datatype
datatyp för varje post i resultatbuffertentarget_rank
rangordning efter måltarget_disp
förskjutning från början av fönstret till början av målbuffertentarget_count
antal poster i målbuffertenDatatyp
datatyp för varje post i målbuffertenOp
fördefinierad 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_GET_ACCUMULATE(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_ADDR, RESULT_COUNT, RESULT_DATATYPE,
TARGET_RANK, TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, OP, WIN, IERROR)
<type> ORIGIN_ADDR(*), RESULT_ADDR(*)
INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_COUNT, RESULT_DATATYPE, TARGET_RANK, TARGET_COUNT,
TARGET_DATATYPE, OP, WIN, IERROR
Kommentarer
Ackumulera origin_count element av typen origin_datatype från ursprungsbufferten (origin_addr) till bufferten vid förskjutning target_disp, i målfönstret som anges av target_rank och vinna, med operation op och retur i resultatbufferten result_addr innehållet i målbufferten före ackumuleringen, som anges av target_disp, target_count och target_datatype. De data som överförs från ursprunget till målet måste passa, utan trunkering, i målbufferten. På samma sätt måste de data som kopieras från mål till ursprung passa, utan trunkering, i resultatbufferten.
Ursprung och resultatbuffertar (origin_addr och result_addr) måste vara åtskilda. Varje datatypargument måste vara en fördefinierad datatyp eller en härledd datatyp där alla grundläggande komponenter har samma fördefinierade datatyp. Alla datatypsargument måste konstrueras från samma fördefinierade datatyp. Åtgärdsåtgärden gäller för element av den fördefinierade typen. target_datatype får inte ange överlappande poster, och målbufferten måste få plats i målfönstret eller i det anslutna minnet i ett dynamiskt fönster. Åtgärden körs atomiskt för varje grundläggande datatyp.
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 |