funkcja wywołania zwrotnego MPI_Grequest_query_function
MPI_Grequest_query_function jest symbolem zastępczym nazwy funkcji zdefiniowanej przez aplikację.
Składnia
int MPI_Grequest_query_function(
_In_opt_ void *extra_state,
_Out_ MPI_Status *status
);
Parametry
extra_state [in, opcjonalnie]
Stan dodatkowy.status [out]
Obiekt stanu MPI.
Wartość zwracana
Wszystkie funkcje wywołania zwrotnego zwracają kod błędu. Kod jest przekazywany z powrotem i traktowany zgodnie z potrzebami dla kodu błędu przez funkcję MPI, która wywołała funkcję wywołania zwrotnego. Jeśli na przykład kody błędów zostaną zwrócone, kod błędu zwrócony przez funkcję wywołania zwrotnego zostanie zwrócony przez funkcję MPI, która wywołała funkcję wywołania zwrotnego. W przypadku MPI_{Wait|Test}każde wywołanie, które wywołuje zarówno query_fn, jak i free_fn, wywołanie MPI zwróci kod błędu zwrócony przez ostatnie wywołanie zwrotne, a mianowicie free_fn. Jeśli co najmniej jedno żądanie w wywołaniu MPI_{Wait|Test}{some|all} nie powiódł się, a następnie wywołanie MPI zwróci MPI_ERR_IN_STATUS. W takim przypadku, jeśli wywołanie MPI zostało przekazane tablicy stanów, funkcja MPI zwróci w każdym ze stanów, które odpowiadają ukończonym uogólnionym żądaniu kod błędu zwrócony przez odpowiednie wywołanie funkcji wywołania zwrotnego free_fn. Jeśli jednak funkcja MPI została przekazana MPI_STATUSES_IGNORE, poszczególne kody błędów zwrócone przez poszczególne funkcje wywołania zwrotnego zostaną utracone.
Fortran
SUBROUTINE GREQUEST_QUERY_FUNCTION(EXTRA_STATE, STATUS, IERROR)
INTEGER STATUS(MPI_STATUS_SIZE), IERROR
INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE
Uwagi
Funkcja query_fn oblicza stan, który powinien zostać zwrócony dla uogólnionego żądania. Stan zawiera również informacje o pomyślnym/nieudanym anulowaniu żądania (wynik, który ma zostać zwrócony przez MPI_Test_cancelled).
Wywołanie zwrotne query_fn jest wywoływane przez MPI_{Wait|Test}{any|some|all} wywołanie, które zakończyło uogólnione żądanie skojarzone z tym wywołaniem zwrotnym. Funkcja wywołania zwrotnego jest również wywoływana przez wywołania do MPI_Request_get_status, jeśli żądanie zostanie ukończone po wywołaniu. W obu przypadkach wywołanie zwrotne jest przekazywane odwołanie do odpowiedniej zmiennej stanu przekazanej przez użytkownika do wywołania MPI; stan ustawiony przez funkcję wywołania zwrotnego jest zwracany przez wywołanie MPI. Jeśli użytkownik podał MPI_STATUS_IGNORE lub MPI_STATUSES_IGNORE do funkcji MPI, która powoduje wywołanie query_fn , interfejs MPI przekaże prawidłowy obiekt stanu do query_fn, a ten stan zostanie zignorowany po powrocie funkcji wywołania zwrotnego. Należy pamiętać, że query_fn jest wywoływana dopiero po wywołaniu MPI_Grequest_complete w żądaniu; Może być wywoływany kilka razy dla tego samego uogólnionych żądań, np. jeśli użytkownik wywołuje MPI_Request_get_status kilka razy dla tego żądania. Zwróć również uwagę, że wywołanie metody MPI_{Wait|Test}{niektóre|wszystkie} może spowodować wiele wywołań funkcji wywołania zwrotnego query_fn, po jednym dla każdego uogólnionego żądania zakończonego przez wywołanie MPI. Kolejność tych wywołań nie jest określona przez interfejs MPI.
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 |