MPI_Get_accumulate-Funktion
Führt atomares Lesen/Ändern-Schreiben aus und gibt die Daten vor dem Akkumulationsvorgang zurück.
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
);
Parameter
origin_addr [in]
Anfängliche Adresse des Puffersorigin_count
Anzahl der Einträge im Pufferorigin_datatype
Datentyp jedes Puffereintragsresult_addr [out]
Erste Adresse des Ergebnispuffersresult_count
Anzahl der Einträge im Ergebnispufferresult_datatype
Datentyp jedes Eintrags im Ergebnispuffertarget_rank
Rang des Zielstarget_disp
Verschiebung vom Anfang des Fensters zum Anfang des Zielpufferstarget_count
Anzahl der Einträge im Zielpufferdatatype
Datentyp jedes Eintrags im ZielpufferOp
vordefinierter Reduzierungsvorgangwin
window-Objekt
Rückgabewert
Gibt MPI_SUCCESS nach Erfolg zurück. Andernfalls ist der Rückgabewert ein Fehlercode.
In Fortran wird der Rückgabewert im IERROR-Parameter gespeichert.
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
Hinweise
Akkumulieren Sie origin_count Elemente vom Typ origin_datatype vom Ursprungspuffer (origin_addr) in den Puffer beim Offset target_disp im Zielfenster, das durch target_rank und Win angegeben wird, mithilfe des Vorgangsbetriebs und zurückgeben Sie im Ergebnispuffer result_addr den Inhalt des Zielpuffers vor der Akkumulation, die durch target_disp angegeben wird, target_count und target_datatype. Die vom Ursprung an das Ziel übertragenen Daten müssen ohne Abschneiden in den Zielpuffer passen. Ebenso müssen die vom Ziel in den Ursprung kopierten Daten ohne Abschneiden in den Ergebnispuffer passen.
Die Ursprungs- und Ergebnispuffer (origin_addr und result_addr) müssen getrennt sein. Jedes Datentypargument muss ein vordefinierter Datentyp oder ein abgeleiteter Datentyp sein, wobei alle grundlegenden Komponenten denselben vordefinierten Datentyp aufweisen. Alle Datentypargumente müssen aus demselben vordefinierten Datentyp erstellt werden. Der Vorgangsvorgang gilt für Elemente dieses vordefinierten Typs. target_datatype darf keine überlappenden Einträge angeben, und der Zielpuffer muss in das Zielfenster oder in den angefügten Arbeitsspeicher in einem dynamischen Fenster passen. Der Vorgang wird für jeden grundlegenden Datentyp atomar ausgeführt.
Anforderungen
Produkt |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package oder HPC Pack 2008 Client Utilities |
Header |
Mpi.h; Mpif.h |
Bibliothek |
Msmpi.lib |
DLL |
Msmpi.dll |