MPI_Imrecv, funkcja
Wykonuje odbieranie komunikatu niezgodnego z MPI_Mprobe lub MPI_Improbe.
Składnia
int MPIAPI MPI_Imrecv(
_Out_ void *buf,
_In_ int count,
_In_ MPI_Datatype datatype,
_Inout_ MPI_Message *message,
_Out_ MPI_Request *request
);
Parametry
buf [out]
Wskaźnik do adresu buforu odbioru.count [in]
Liczba elementów typu danych w usłudze buf.datatype [in]
Typ danych MPI elementów w usłudze buf.komunikat [in, out]
Zawiera wskaźnik do komunikatu.request [out]
Po powrocie zawiera wskaźnik do MPI_REQUEST dojścia reprezentującego operację komunikacji.
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_IMRECV(BUF, COUNT, DATATYPE, MESSAGE, REQUEST, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, MESSAGE, REQUEST, IERROR
Uwagi
Ta funkcja jest nieblokacyjną odmianą MPI_Mrecv i uruchamia nieblokacyjną odbieranie dopasowanego komunikatu. Semantyka uzupełniania jest podobna do MPI_Irecv.
Po powrocie z tej funkcji dojście komunikatu jest ustawione na MPI_MESSAGE_NULL.
Jeśli ta funkcja jest wywoływana z MPI_MESSAGE_NO_PROC jako argument komunikatu, wywołanie zwraca natychmiast z obiektem żądania, który po zakończeniu zwróci obiekt stanu ustawiony naMPI_PROC_NULLźródłowy = , tag = MPI_ANY_TAG i liczyć = 0, tak jakby otrzymano od MPI_PROC_NULL. Wywołanie tej funkcji z MPI_MESSAGE_NULL jest błędne.
Wymagania
Produkt |
Microsoft MPI v6 |
Nagłówek |
Mpi.h; Mpif.h |
Biblioteka |
Msmpi.lib |
DLL |
Msmpi.dll |