MPI_Compare_and_swap, funkcja
Wykonuje zdalną operację porównywania niepodzielnego i zamiany.
Składnia
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 [in]
początkowy adres buforucompare_addr [in]
początkowy adres funkcji comparebufferresult_addr [out]
początkowy adres buforu wynikówDatatype
typ danych każdego wpisu we wszystkich buforachtarget_rank
ranga miejsca docelowegotarget_disp
przesunięcie od początku okna do początku buforu docelowegoWygrać
obiekt okna
Wartość zwracana
Zwraca MPI_SUCCESS powodzenia. W przeciwnym razie wartość zwracana jest kodem błędu.
W fortran wartość zwracana jest przechowywana w parametrze 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
Uwagi
Ta funkcja porównuje jeden element typu datatype w buforze porównywania compare_addr z buforem podczas przesunięcia target_disp w oknie docelowym określonym przez target_rank i win i zastępuje wartość w obiekcie docelowym wartością w buforze źródła origin_addr , jeśli bufor porównania i bufor docelowy są identyczne. Oryginalna wartość w obiekcie docelowym jest zwracana w result_addr buforu. Typ danych parametru musi należeć do jednej z następujących kategorii wstępnie zdefiniowanych typów danych: C integer, Fortran integer, Logical, Multi-Language types lub Byte. Bufory źródła i wyniku (origin_addr i result_addr) muszą być rozłączne.
Wymagania
Produkt |
Pakiet redystrybucyjny PROGRAMU HPC Pack 2012 MS-MPI, pakiet redystrybucyjny HPC Pack 2008 R2 MS-MPI, pakiet redystrybucyjny PAKIETU HPC Pack 2008 MS-MPI lub narzędzia klienckie PAKIETU HPC Pack 2008 |
Nagłówek |
Mpi.h; Mpif.h |
Biblioteka |
Msmpi.lib |
DLL |
Msmpi.dll |