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 |