MPI_Mrecv functie
Hiermee wordt een blokkerende ontvangst uitgevoerd voor een bericht dat overeenkomt met MPI_Mprobe of MPI_Improbe.
Syntaxis
int MPIAPI MPI_Mrecv(
_Out_ void *buf,
_In_ int count,
_In_ MPI_Datatype datatype,
_Inout_ MPI_Message *message,
_Out_ MPI_Status *status
);
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 de buffermatrix.bericht [in, uit]
Bevat een aanwijzer naar het bericht.status [uit]
Bij terugkomst bevat 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_MRECV(BUF, COUNT, DATATYPE, MESSAGE, STATUS, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR
Opmerkingen
Deze functie ontvangt een bericht dat overeenkomt met een overeenkomende testbewerking. De ontvangstbuffer bestaat uit de opslag met het aantal opeenvolgende elementen van het type dat is opgegeven door het gegevenstype, beginnend bij adres buf. De lengte van het ontvangen bericht moet kleiner zijn dan of gelijk zijn aan de lengte van de ontvangstbuffer. Er treedt een overloopfout op als niet alle binnenkomende gegevens, zonder afkapping, in de ontvangstbuffer passen.
Als het bericht korter is dan de ontvangstbuffer, worden alleen de locaties gewijzigd die overeenkomen met het (kortere) bericht.
Wanneer deze functie wordt geretourneerd, wordt de berichtingang ingesteld op MPI_MESSAGE_NULL. Alle fouten die optreden tijdens de uitvoering van deze bewerking, worden verwerkt volgens de fouthandler die is ingesteld voor de communicator die wordt gebruikt in de overeenkomende testoproep die de berichtingang heeft geproduceerd
Vereisten
Product |
Microsoft MPI v6 |
Header |
Mpi.h; Mpif.h |
Bibliotheek |
Msmpi.lib |
DLL |
Msmpi.dll |