Freigeben über


MPI_Mrecv-Funktion

Führt einen blockierenden Empfang für eine Nachricht aus , die mit MPI_Mprobe oder MPI_Improbe übereinstimmt.

Syntax

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

Parameter

  • buf [out]
    Ein Zeiger auf die Adresse des Empfangspuffers.

  • Anzahl [in]
    Die Anzahl der Datentypelemente in buf.

  • Datentyp [in]
    Der MPI-Datentyp der Elemente im Pufferarray.

  • Nachricht [ein, aus]
    Enthält einen Zeiger auf die Nachricht.

  • status [out]
    Enthält bei der Rückgabe einen Zeiger auf eine MPI_Status Struktur, in der Informationen zur Nachricht gespeichert werden.

Rückgabewert

Gibt MPI_SUCCESS nach Erfolg zurück. Andernfalls ist der Rückgabewert ein Fehlercode.

In Fortran wird der Rückgabewert im IERROR-Parameter gespeichert.

Fortran

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

Hinweise

Diese Funktion empfängt eine Nachricht, die von einem übereinstimmenden Testvorgang abgeglichen wird. Der Empfangspuffer besteht aus dem Speicher, der die Anzahl aufeinanderfolgender Elemente des vom Datentyp angegebenen Typs enthält, beginnend bei address buf. Die Länge der empfangenen Nachricht muss kleiner oder gleich der Länge des Empfangspuffers sein. Ein Überlauffehler tritt auf, wenn alle eingehenden Daten ohne Abschneiden nicht in den Empfangspuffer passen.

Wenn die Nachricht kürzer als der Empfangspuffer ist, werden nur die Speicherorte geändert, die der (kürzeren) Nachricht entsprechen.

Bei der Rückgabe von dieser Funktion wird das Nachrichtenhandle auf MPI_MESSAGE_NULL festgelegt. Alle Fehler, die während der Ausführung dieses Vorgangs auftreten, werden gemäß dem Fehlerhandlersatz für den Communicator behandelt, der im übereinstimmenden Testaufruf verwendet wird, der das Nachrichtenhandle erzeugt hat.

Anforderungen

Produkt

Microsoft MPI v6

Header

Mpi.h; Mpif.h

Bibliothek

Msmpi.lib

DLL

Msmpi.dll

Weitere Informationen

MPI-Punkt-zu-Punkt-Funktionen

MPI_Mprobe

MPI_Improbe

MPI_Recv

MPI_Imrecv