MPI_Compare_and_swap-Funktion
Führt einen Remote-Atomvergleichs- und -austauschvorgang aus.
Syntax
int MPIAPI MPI_Compare_and_swap(
_In_ void *origin_addr,
_In_ void *compare_addr,
_Out_ void *result_addr,
MPI_Datatype datatype,
int target_rank,
MPI_Aint target_disp,
MPI_Win win
);
Parameter
origin_addr [in]
Anfängliche Adresse des Pufferscompare_addr [in]
Erste Adresse von comparebufferresult_addr [out]
Erste Adresse des Ergebnispuffersdatatype
Datentyp jedes Eintrags in allen Pufferntarget_rank
Rang des Zielstarget_disp
Verschiebung vom Anfang des Fensters zum Anfang des Zielpufferswin
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_COMPARE_AND_SWAP(ORIGIN_ADDR, COMPARE_ADDR, RESULT_ADDR,
DATATYPE, TARGET_RANK, TARGET_DISP, WIN, IERROR)
<type> ORIGIN_ADDR(*), COMPARE_ADDR(*), RESULT_ADDR(*)
INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
INTEGER DATATYPE, TARGET_RANK, WIN, IERROR
Hinweise
Diese Funktion vergleicht ein Element des Typdatentyps im Vergleichspuffer compare_addr mit dem Puffer am Offset target_disp im Zielfenster, das durch target_rank und win angegeben wird, und ersetzt den Wert am Ziel durch den Wert im Ursprungspuffer origin_addr , wenn der Vergleichspuffer und der Zielpuffer identisch sind. Der ursprüngliche Wert am Ziel wird im Puffer result_addr zurückgegeben. Der Parameterdatentyp muss zu einer der folgenden Kategorien vordefinierter Datentypen gehören: C-Ganzzahl, Fortran-Ganzzahl, Logische, Mehrsprachige Typen oder Byte. Die Ursprungs- und Ergebnispuffer (origin_addr und result_addr) müssen getrennt sein.
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 |