Freigeben über


MPI_Mprobe-Funktion

Blockieren von Tests für eine Nachricht. Stellt einen Mechanismus bereit, um die spezifische Nachricht zu empfangen, die unabhängig von dazwischenliegenden Test-/Empfangsvorgängen abgeglichen wurde. Die übereinstimmende Nachricht wird aus der Empfangswarteschlange entfernt, sodass die Anwendung die Möglichkeit hat, basierend auf den Vom übereinstimmenden Testvorgang zurückgegebenen Informationen zu entscheiden, wie die Nachricht empfangen werden soll. Die übereinstimmene Nachricht wird dann mit der MPI_Mrecv- oder MPI_Imrecv-Funktion empfangen.

Syntax

int MPIAPI MPI_Mprobe(
  _In_  int         source,
  _In_  int         tag,
  _In_  MPI_Comm    comm,
  _Out_ MPI_Message *message,
  _Out_ MPI_Status  *status
);

Parameter

  • Source [in]
    Quellrang oder MPI_ANY_SOURCE.

  • Tag [in]
    Nachrichtentag oder MPI_ANY_TAG.

  • comm [in]
    MPI-Communicator-Handle.

  • Nachricht [out]
    Enthält bei der Rückgabe einen Zeiger auf die übereinstimmende 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_MPROBE(SOURCE, TAG, COMM, MESSAGE, STATUS, IERROR)
          INTEGER SOURCE, TAG, COMM, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR

Hinweise

Diese Funktion verhält sich wie MPI_Improbe mit der Ausnahme, dass es sich um einen blockierenden Aufruf handelt, der erst zurückgegeben wird, nachdem eine übereinstimmende Nachricht gefunden wurde.

Anforderungen

Produkt

Microsoft MPI v6

Header

Mpi.h; Mpif.h

Bibliothek

Msmpi.lib

DLL

Msmpi.dll

Weitere Informationen

MPI-Punkt-zu-Punkt-Funktionen

MPI_Improbe

MPI_Recv

MPI_Imrecv