Megosztás:


MPI_Mrecv függvény

Letiltja a MPI_Mprobe vagy MPI_Improbe által egyeztetett üzenetek fogadását.

Szintaxis

int MPIAPI MPI_Mrecv(
  _Out_   void         *buf,
  _In_    int          count,
  _In_    MPI_Datatype datatype,
  _Inout_ MPI_Message  *message,
  _Out_   MPI_Status   *status
);

Paraméterek

  • buf [kifelé]
    A fogadó puffer címére mutató mutató.

  • count [in]
    A bufadattípus-elemeinek száma.

  • datatype [in]
    A puffertömb elemeinek MPI-adattípusa.

  • üzenet [be, ki]
    Az üzenetre mutató mutatót tartalmaz.

  • status [out]
    Visszatérés esetén egy olyan MPI_Status struktúrára mutató mutatót tartalmaz, amelyben az üzenetre vonatkozó információk tárolódnak.

Visszatérési érték

Sikeres MPI_SUCCESS ad vissza. Ellenkező esetben a visszatérési érték hibakód.

A Fortranban a visszatérési érték az IERROR paraméterben lesz tárolva.

Fortran

    MPI_MRECV(BUF, COUNT, DATATYPE, MESSAGE, STATUS, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR

Megjegyzések

Ez a függvény egy egyező mintavételi művelettel egyeztetett üzenetet kap. A fogadópuffer az adattípus által megadott típusú szám egymást követő elemeket tartalmazó tárolóból áll, a cím buf-tól kezdve. A fogadott üzenet hosszának a fogadó puffer hosszánál rövidebbnek vagy egyenlőnek kell lennie. Túlcsordulási hiba történik, ha az összes bejövő adat csonkolás nélkül nem fér el a fogadó pufferbe.

Ha az üzenet rövidebb, mint a fogadó puffer, akkor csak a (rövidebb) üzenetnek megfelelő helyek módosulnak.

A függvényből való visszatéréshez az üzenetkezelő MPI_MESSAGE_NULL van beállítva. A művelet végrehajtása során előforduló összes hibát a rendszer az üzenetkezelőt előállító egyező mintavételi hívásban használt kommunikátorhoz beállított hibakezelőnek megfelelően kezeli.

Követelmények

Termék

Microsoft MPI v6

Fejléc

Mpi.h; Mpif.h

Kódtár

Msmpi.lib

DLL

Msmpi.dll

Lásd még

MPI pont–pont függvények

MPI_Mprobe

MPI_Improbe

MPI_Recv

MPI_Imrecv