MPI_Fetch_and_op, funkcja
Wykonuje niepodzielne operacje odczytu i modyfikowania zapisu na jednym elemecie danych i zwraca element danych przed operacją akumulowania.
Składnia
int MPIAPI MPI_Fetch_and_op(
_In_ void *origin_addr,
_Out_ void *result_addr,
MPI_Datatype datatype,
int target_rank,
MPI_Aint target_disp,
MPI_Op op,
MPI_Win win
);
Parametry
origin_addr [in]
początkowy adres buforuresult_addr [out]
początkowy adres buforu wynikówDatatype
typ danych każdego wpisu w miejscu źródłowym, wynik i bufor docelowytarget_rank
ranga miejsca docelowegotarget_disp
przesunięcie od początku okna do początku buforu docelowegoOp
operacja redukcjiWygrać
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_FETCH_AND_OP(ORIGIN_ADDR, RESULT_ADDR, DATATYPE,
TARGET_RANK, TARGET_DISP, OP, WIN, IERROR)
<type> ORIGIN_ADDR(*), RESULT_ADDR(*)
INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
INTEGER DATATYPE, TARGET_RANK, OP, WIN, IERROR
Uwagi
Zkumuluj jeden element typu datatype z buforu źródła (origin_addr) do buforu przy target_disp przesunięcia w oknie docelowym określonym przez target_rank i win, używając operacji op i zwracając w buforze wyników result_addr zawartości buforu docelowego przed akumulacją.
Bufory źródła i wyniku (origin_addr i result_addr) muszą być rozłączne. Dowolne ze wstępnie zdefiniowanych operacji dla MPI_Reduce, a także MPI_NO_OP lub MPI_REPLACE, można określić jako operację; Nie można używać funkcji zdefiniowanych przez użytkownika. Argument typu danych musi być wstępnie zdefiniowanym typem danych. Operacja jest wykonywana niepodziealnie.
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 |