Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Fogadási műveletet hajt végre, és nem ad vissza, amíg meg nem érkezik egy megfelelő üzenet.
Szintaxis
int MPIAPI MPI_Recv(
_In_opt_ void *buf,
int count,
MPI_Datatype datatype,
int source,
int tag,
MPI_Comm comm,
_Out_ MPI_Status *status
);
Paraméterek
buf [in, nem kötelező]
Az elküldendő adatokat tartalmazó pufferre mutató mutató.Számít
A puffer elemeinek száma. Ha az üzenet adatrésze üres, állítsa a count paramétert 0-ra.Adattípus
A puffertömb elemeinek adattípusa.Forrás
A küldési folyamat rangja a megadott kommunikátorban. Adja meg a MPI_ANY_SOURCE konstanst, hogy bármely forrás elfogadható legyen.Tag
A különböző típusú üzenetek megkülönböztetésére szolgáló üzenetcímke. Adja meg a MPI_ANY_TAG állandót, amely azt jelzi, hogy bármely címke elfogadható.Comm
A kommunikátor fogantyúja.status [out]
Visszatéréskor egy MPI_Status struktúrára mutató mutatót tartalmaz, ahol a kapott ü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 van tárolva.
Fortran
MPI_RECV(BUF, COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, SOURCE, TAG, COMM, STATUS(MPI_STATUS_SIZE), IERROR
Megjegyzések
A fogadott üzenet hosszának meg kell egyeznie a fogadási puffer hosszával. Ez a függvény túlcsordulási hibát ad vissza, ha az összes bejövő adat nem fér el a fogadó pufferbe.
Ha a fogadott üzenet rövidebb, mint a puffer, csak a puffernek az üzenetnek megfelelő része módosul. A puffer fennmaradó része nem módosul.
A folyamatok üzeneteket küldhetnek maguknak. Ez azonban nem biztonságos a küldési és fogadási műveletek blokkolásával, MPI_Send és MPI_Recv, mivel ezek a blokkoló küldési és fogadási műveletek holtpontot okozhatnak.
Megjegyzés
A küldési és fogadási műveletek között aszimmetria van. A fogadási művelet fogadhatja egy tetszőleges feladó üzeneteit, de a küldési műveletnek egyedi fogadót kell megadnia. Ez egy leküldéses kommunikációs stílust valósít meg, ahol az adatátvitelt a feladó végzi, nem pedig egy lekéréses stílust, ahol az adatátvitelt a fogadó végzi.
Követelmények
Termék |
HPC Pack 2012 MS-MPI terjeszthető csomag, HPC Pack 2008 R2 MS-MPI terjeszthető csomag, HPC Pack 2008 MS-MPI újraterjeszthető csomag vagy HPC Pack 2008 ügyfél-segédprogramok |
Fejléc |
Mpi.h; Mpif.h |
Kódtár |
Msmpi.lib |
DLL |
Msmpi.dll |