Dela via


funktionen MPI_Improbe

Avsöker ett meddelande på ett icke-blockerande sätt. Tillhandahåller en mekanism för att ta emot det specifika meddelandet som matchades oavsett mellanliggande avsöknings-/mottagningsåtgärder. Det matchade meddelandet placeras i kö utanför mottagarkön, vilket ger programmet möjlighet att bestämma hur meddelandet ska tas emot baserat på den information som returneras av den icke-blockerande matchande avsökningsåtgärden. Det matchade meddelandet tas sedan emot med hjälp av funktionen MPI_Mrecv eller MPI_Imrecv .

Syntax

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

Parametrar

  • källa [in]
    Källrankning eller MPI_ANY_SOURCE.

  • tag [in]
    Meddelandetagg eller MPI_ANY_TAG.

  • comm [in]
    MPI-kommunikationshandtag.

  • flagga [ut]
    Vid retur innehåller en pekare till ett heltal som anger om den angivna källan, taggen och kommatecknet matchas. Ett värde som inte är noll anger att parametrarna matchas.

  • message [out]
    Vid retur innehåller en pekare till det matchade meddelandet.

  • status [out]
    Vid retur innehåller en pekare till en MPI_Status struktur där information om meddelandet lagras.

Returvärde

Returnerar MPI_SUCCESS vid lyckat resultat. Annars är returvärdet en felkod.

I Fortran lagras returvärdet i parametern IERROR .

Fortran

    MPI_IMPROBE(SOURCE, TAG, COMM, FLAG, MESSAGE, STATUS, IERROR)
          INTEGER SOURCE, TAG, COMM, FLAG, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR

Kommentarer

Den här funktionen returnerar flaggan = true om det finns ett meddelande som kan tas emot och som matchar det mönster som anges av argumentens källa, tagg och kommatecken. Anropet matchar samma meddelande som skulle ha tagits emot av ett anrop till MPI_Recv körs på samma plats i programmet och returnerar samma värde som skulle ha returnerats av MPI_Recv. Dessutom returneras i meddelandet ett handtag till det matchade meddelandet. Annars returnerar anropet flaggan = false och lämnar status och meddelande odefinierat.

Krav

Produkt

Microsoft MPI v6

Huvud

Mpi.h; Mpif.h

Bibliotek

Msmpi.lib

DLL

Msmpi.dll

Se även

MPI punkt-till-punkt-funktioner

MPI_Mprobe

MPI_Recv

MPI_Imrecv