Sdílet prostřednictvím


MPI_Compare_and_swap funkce

Provede operaci vzdáleného atomické porovnání a prohození.

Syntaxe

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

Parametry

  • origin_addr [v]
    počáteční adresa vyrovnávací paměti

  • compare_addr [v]
    počáteční adresa comparebufferu

  • result_addr [out]
    počáteční adresa vyrovnávací paměti výsledků

  • Datatype
    datový typ každé položky ve všech vyrovnávacích pamětích

  • target_rank
    rank of target

  • target_disp
    posunutí od začátku okna do začátku cílové vyrovnávací paměti

  • Vyhrát
    objekt okna

Vrácená hodnota

Vrátí MPI_SUCCESS při úspěchu. V opačném případě je návratovou hodnotou kód chyby.

Ve Fortranu je vrácená hodnota uložena v parametru 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

Poznámky

Tato funkce porovná jeden prvek datového typu ve vyrovnávací paměti porovnání compare_addr s vyrovnávací pamětí při posunu target_disp v cílovém okně určeném target_rank a win a nahradí hodnotu v cíli hodnotou v původní vyrovnávací paměti origin_addr , pokud porovnání vyrovnávací paměti a cílová vyrovnávací paměť jsou identické. Původní hodnota v cíli se vrátí ve vyrovnávací paměti result_addr. Datový typ parametru musí patřit do jedné z následujících kategorií předdefinovaných datových typů: C integer, Fortran integer, Logical, Multi-language types nebo Byte. Vyrovnávací paměť původu a výsledku (origin_addr a result_addr) musí být nesouvislé.

Požadavky

Produkt

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package nebo HPC Pack 2008 Client Utilities

Hlavička

Mpi.h; Soubor Mpif.h

Knihovna

Msmpi.lib

DLL

Msmpi.dll

Viz také

Funkce MPI One-Sided Communications