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.
Szintaxis
int MPIAPI MPI_Iscatterv(
_In_opt_ const void *sendbuf,
_In_opt_ const int sendcounts[],
_In_opt_ const int displs[],
_In_ MPI_Datatype sendtype,
_Out_opt_ void *recvbuf,
_In_ int recvcount,
_In_ MPI_Datatype recvtype,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Paraméterek
sendbuf [in, nem kötelező]
Az egérmutató egy pufferre, amely a gyökérfolyamat által elküldendő adatokat tartalmazza.Ezt a paramétert a rendszer figyelmen kívül hagyja az összes nem gyökérfolyamat esetében.
Ha a comm paraméter egy intrakommunikátorra hivatkozik, a gyökérfolyamatban MPI_IN_PLACE megadásával megadhat egy helyi beállítást. A rendszer figyelmen kívül hagyja a recvcount és a recvtype paramétereket. A pontozott vektor továbbra is n szegmenst tartalmaz, ahol n a csoport mérete; a gyökérfolyamatnak megfelelő szegmens nem lesz áthelyezve.
sendcounts[] [in, optional]
Az egyes folyamatoknak küldendő elemek száma. Ha a sendcounts[i] értéke nulla, a folyamat üzenetének adatrésze üres.Ezt a paramétert a rendszer figyelmen kívül hagyja az összes nem gyökérfolyamat esetében.
displs[] [in, nem kötelező]
Az egyes kommunikációs folyamatoknak küldendő adatok helye. A tömb minden helye a sendbuf tömb megfelelő eleméhez viszonyítva található.A sendbuf, a sendcounts és a displs paramétertömbökben az egyes tömbök n. eleme az n. kommunikátori folyamatnak küldendő adatokra hivatkozik.
Ez a paraméter csak a gyökérfolyamatban jelentős.
sendtype [in]
A puffer egyes elemeinek adattípusa.Ezt a paramétert a rendszer figyelmen kívül hagyja az összes nem gyökérfolyamat esetében.
recvbuf [ki, nem kötelező]
Az egérmutató egy olyan pufferre, amely az egyes folyamatokon fogadott adatokat tartalmazza. A puffer elemeinek számát és adattípusát a recvcount és a recvtype paraméterek határozzák meg.recvcount [in]
A fogadó puffer elemeinek száma. Ha a szám nulla, az üzenet adatrésze üres.recvtype [in]
A fogadási puffer elemeinek adattípusa.root [in]
A küldési folyamat rangja a megadott kommunikátoron belül.comm [in]
A MPI_Comm kommunikátor fogantyú.request [out]
A kommunikációs műveletet jelölő MPI_Request leíró.
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_ISCATTERV(SENDBUF, SENDCOUNTS, DISPLS, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER SENDCOUNTS(*), DISPLS(*), SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR
Megjegyzések
A nem blokkoló hívás kollektív csökkentési műveletet kezdeményez, amelyet egy külön befejezési hívásban kell végrehajtani. A művelet a kezdeményezést követően a részt vevő folyamatokban végzett számításoktól vagy más kommunikációtól függetlenül is továbbhaladhat. Ily módon a nem blokkoló csökkentési műveletek a "háttérben" futtatva mérsékelhetik a csökkentési műveletek lehetséges szinkronizálási hatásait.
Minden befejezési hívás (például MPI_Wait) támogatott a nem blokkoló csökkentési műveletekhez.
Követelmények
Termék |
Microsoft MPI v7 |
Fejléc |
Mpi.h; Mpif.h |
Kódtár |
Msmpi.lib |
DLL |
Msmpi.dll |