Delen via


MPI_Improbe functie

Tests voor een bericht op een niet-blokkerende manier. Biedt een mechanisme voor het ontvangen van het specifieke bericht dat is vergeleken, ongeacht de tussenliggende test-/ontvangstbewerkingen. Het overeenkomende bericht wordt verwijderd uit de wachtrij voor ontvangst, zodat de toepassing de mogelijkheid krijgt om te bepalen hoe het bericht moet worden ontvangen op basis van de informatie die wordt geretourneerd door de niet-blokkerende overeenkomende testbewerking. Het overeenkomende bericht wordt vervolgens ontvangen met behulp van de functie MPI_Mrecv of MPI_Imrecv .

Syntaxis

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
);

Parameters

  • bron [in]
    Bronrang of MPI_ANY_SOURCE.

  • tag [in]
    Berichttag of MPI_ANY_TAG.

  • comm [in]
    MPI Communicator-ingang.

  • vlag [uit]
    Bij retour bevat een verwijzing naar een geheel getal dat aangeeft of de opgegeven bron, tag en comm overeenkomen. Een niet-nulwaarde geeft aan dat de parameters overeenkomen.

  • bericht [uit]
    Bevat bij terugkomst een verwijzing naar het overeenkomende bericht.

  • status [uit]
    Bevat bij terugkomst een verwijzing naar een MPI_Status structuur waarin informatie over het bericht wordt opgeslagen.

Retourwaarde

Retourneert MPI_SUCCESS bij succes. Anders is de retourwaarde een foutcode.

In Fortran wordt de retourwaarde opgeslagen in de parameter IERROR .

Fortran

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

Opmerkingen

Deze functie retourneert de vlag = true als er een bericht is dat kan worden ontvangen en dat overeenkomt met het patroon dat is opgegeven door de argumentenbron, tag en comm. De aanroep komt overeen met hetzelfde bericht dat zou zijn ontvangen door een aanroep naar MPI_Recv uitgevoerd op hetzelfde punt in het programma en retourneert in de status dezelfde waarde die door MPI_Recv zou zijn geretourneerd. Bovendien wordt in het bericht een ingang geretourneerd naar het overeenkomende bericht. Anders retourneert de aanroep de vlag = false en blijft de status en het bericht ongedefinieerd.

Vereisten

Product

Microsoft MPI v6

Header

Mpi.h; Mpif.h

Bibliotheek

Msmpi.lib

DLL

Msmpi.dll

Zie ook

Punt-naar-punt-functies voor MPI

MPI_Mprobe

MPI_Recv

MPI_Imrecv