Freigeben über


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 Puffers

  • compare_addr [in]
    Erste Adresse von comparebuffer

  • result_addr [out]
    Erste Adresse des Ergebnispuffers

  • datatype
    Datentyp jedes Eintrags in allen Puffern

  • target_rank
    Rang des Ziels

  • target_disp
    Verschiebung vom Anfang des Fensters zum Anfang des Zielpuffers

  • win
    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

Weitere Informationen

MPI One-Sided Communications Functions