Udostępnij za pośrednictwem


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

Zobacz też

Funkcje typu punkt-punkt MPI

MPI_Irecv

MPI_Mrecv

MPI_Mprobe

MPI_Improbe