Udostępnij za pośrednictwem


MPI_Mrecv, funkcja

Wykonuje odbieranie blokujące dla komunikatu dopasowanego przez MPI_Mprobe lub MPI_Improbe.

Składnia

int MPIAPI MPI_Mrecv(
  _Out_   void         *buf,
  _In_    int          count,
  _In_    MPI_Datatype datatype,
  _Inout_ MPI_Message  *message,
  _Out_   MPI_Status   *status
);

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 tablicy buforów.

  • komunikat [in, out]
    Zawiera wskaźnik do 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 powodzenia. W przeciwnym razie wartość zwracana jest kodem błędu.

W fortran wartość zwracana jest przechowywana w parametrze IERROR .

Fortran

    MPI_MRECV(BUF, COUNT, DATATYPE, MESSAGE, STATUS, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR

Uwagi

Ta funkcja odbiera komunikat dopasowany do pasującej operacji sondy. Bufor odbierania składa się z magazynu zawierającego liczbę kolejnych elementów typu określonego przez typ danych, począwszy od adresu buf. Długość odebranego komunikatu musi być mniejsza lub równa długości buforu odbioru. Błąd przepełnienia występuje, jeśli wszystkie dane przychodzące nie mieszczą się, bez obcinania, do buforu odbierania.

Jeśli komunikat jest krótszy niż bufor odbierania, modyfikowane są tylko te lokalizacje odpowiadające komunikatowi (krótsze).

Po powrocie z tej funkcji dojście komunikatu jest ustawione na MPI_MESSAGE_NULL. Wszystkie błędy występujące podczas wykonywania tej operacji są obsługiwane zgodnie z procedurą obsługi błędów ustawioną dla komunikatora używanego w pasującym wywołaniu sondy, które wygenerowało dojście komunikatu

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_Mprobe

MPI_Improbe

MPI_Recv

MPI_Imrecv