MPI_Imrecv functie
Hiermee wordt een niet-blokkerende ontvangst uitgevoerd voor een bericht dat overeenkomt met MPI_Mprobe of MPI_Improbe.
Syntaxis
int MPIAPI MPI_Imrecv(
_Out_ void *buf,
_In_ int count,
_In_ MPI_Datatype datatype,
_Inout_ MPI_Message *message,
_Out_ MPI_Request *request
);
Parameters
buf [uit]
Een verwijzing naar het adres van de ontvangstbuffer.aantal [in]
Het aantal gegevenstype-elementen in buf.datatype [in]
Het MPI-gegevenstype van de elementen in buf.bericht [in, uit]
Bevat een aanwijzer naar het bericht.aanvraag [uit]
Bevat bij terugkomst een aanwijzer naar een MPI_REQUEST ingang die de communicatiebewerking vertegenwoordigt.
Retourwaarde
Retourneert MPI_SUCCESS bij succes. Anders is de retourwaarde een foutcode.
In Fortran wordt de retourwaarde opgeslagen in de parameter IERROR .
Fortran
MPI_IMRECV(BUF, COUNT, DATATYPE, MESSAGE, REQUEST, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, MESSAGE, REQUEST, IERROR
Opmerkingen
Deze functie is de niet-blokkerende variant van MPI_Mrecv en start een niet-blokkerende ontvangst van een overeenkomend bericht. Voltooiingssemantiek is vergelijkbaar met MPI_Irecv.
Wanneer deze functie wordt geretourneerd, wordt de berichtingang ingesteld op MPI_MESSAGE_NULL.
Als deze functie wordt aangeroepen met MPI_MESSAGE_NO_PROC als het berichtargument, wordt de aanroep onmiddellijk geretourneerd met een aanvraagobject dat, wanneer dit is voltooid, een statusobject oplevert dat is ingesteld op bron = MPI_PROC_NULL, tag = MPI_ANY_TAG en aantal = 0, alsof er een ontvangst van MPI_PROC_NULL is uitgegeven. Een aanroep van deze functie met MPI_MESSAGE_NULL is onjuist.
Vereisten
Product |
Microsoft MPI v6 |
Header |
Mpi.h; Mpif.h |
Bibliotheek |
Msmpi.lib |
DLL |
Msmpi.dll |