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 adresscompare_addr [in]
startadress för comparebufferresult_addr [ut]
startadress för resultatbuffertDatatyp
datatyp för varje post i alla buffertartarget_rank
rangordning för måltarget_disp
förskjutning från början av fönstret till början av målbuffertenVinna
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 |