Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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ěticompare_addr [v]
počáteční adresa comparebufferuresult_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íchtarget_rank
rank of targettarget_disp
posunutí od začátku okna do začátku cílové vyrovnávací pamětiVyhrá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 |