MPI_Improbe, funkcja
Sondy komunikatu w sposób nieblokowania. Zapewnia mechanizm odbierania określonego komunikatu, który został dopasowany niezależnie od interweniowania operacji sondy/odbierania. Dopasowany komunikat jest odłączony od kolejki odbierania, co daje aplikacji możliwość podjęcia decyzji o sposobie odbierania komunikatu na podstawie informacji zwracanych przez nieblokującą zgodną operację sondy. Dopasowany komunikat jest następnie odbierany przy użyciu funkcji MPI_Mrecv lub MPI_Imrecv .
Składnia
int MPIAPI MPI_Improbe(
_In_ int source,
_In_ int tag,
_In_ MPI_Comm comm,
_Out_ Int *flag,
_Out_ MPI_Message *message,
_Out_ MPI_Status *status
);
Parametry
źródło [in]
Ranga źródłowa lub MPI_ANY_SOURCE.tag [in]
Tag wiadomości lub MPI_ANY_TAG.comm [in]
Uchwyt komunikatora MPI.flaga [out]
Po powrocie zawiera wskaźnik do liczby całkowitej, która wskazuje, czy określone źródło, tag i comm są zgodne. Wartość niezerowa wskazuje, że parametry są zgodne.komunikat [out]
Po powrocie zawiera wskaźnik do dopasowanego komunikatu.status [out]
Po powrocie zawiera wskaźnik do struktury MPI_Status , w której są przechowywane informacje o komunikacie.
Wartość zwracana
Zwraca MPI_SUCCESS po powodzeniu. W przeciwnym razie zwracana wartość jest kodem błędu.
W fortran wartość zwracana jest przechowywana w parametrze IERROR .
Fortran
MPI_IMPROBE(SOURCE, TAG, COMM, FLAG, MESSAGE, STATUS, IERROR)
INTEGER SOURCE, TAG, COMM, FLAG, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR
Uwagi
Ta funkcja zwraca flagę = true , jeśli istnieje komunikat, który można odebrać i który jest zgodny ze wzorcem określonym przez źródło argumentów, tag i comm. Wywołanie pasuje do tego samego komunikatu, który zostałby odebrany przez wywołanie MPI_Recv wykonane w tym samym momencie w programie i zwraca w stanie tę samą wartość, która zostałaby zwrócona przez MPI_Recv. Ponadto zwraca w komunikacie dojścia do dopasowanego komunikatu. W przeciwnym razie wywołanie zwraca flagę = false i pozostawia stan i komunikat niezdefiniowany.
Wymagania
Produkt |
Microsoft MPI v6 |
Nagłówek |
Mpi.h; Mpif.h |
Biblioteka |
Msmpi.lib |
DLL |
Msmpi.dll |