Dela via


funktionen MPI_Compare_and_swap

Utför en atomisk fjärranslutnings- och växlingsåtgärd.

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
);

Parametrar

  • origin_addr [in]
    buffertens initiala adress

  • compare_addr [in]
    startadress för comparebuffer

  • result_addr [ut]
    startadress för resultatbuffert

  • Datatyp
    datatyp för varje post i alla buffertar

  • target_rank
    rangordning för mål

  • target_disp
    förskjutning från början av fönstret till början av målbufferten

  • Vinna
    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_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

Kommentarer

Den här funktionen jämför ett element av typen datatyp i jämförelsebufferten compare_addr med bufferten vid förskjutning target_disp i målfönstret som anges av target_rank och vinner och ersätter värdet vid målet med värdet i ursprungsbufferten origin_addr om jämförelsebufferten och målbufferten är identiska. Det ursprungliga värdet vid målet returneras i bufferten result_addr. Parameterdatatypen måste tillhöra någon av följande kategorier av fördefinierade datatyper: C-heltal, Fortran-heltal, Logiska, Flerspråkstyper eller Byte. Ursprunget och resultatbuffertarna (origin_addr och result_addr) måste vara åtskilda.

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

Se även

MPI One-Sided Communications Functions