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.
Egy tag adatait pontba rendezi a csoport összes tagja között. A MPI_Scatter függvény a MPI_Gather függvény által végrehajtott művelet inverzét hajtja végre.
Szintaxis
int MPIAPI MPI_Scatter(
_In_ void *sendbuf,
int sendcount,
MPI_Datatype sendtype,
_Out_ void *recvbuf,
int recvcount,
MPI_Datatype recvtype,
int root,
MPI_Comm comm
);
Paraméterek
sendbuf [in]
A leíró egy pufferbe, amely a gyökérfolyamat által elküldendő adatokat tartalmazza.A sendbuf paraméter figyelmen kívül lesz hagyva minden 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.
sendcount
A küldési puffer elemeinek száma. Ha a sendcount értéke nulla, az üzenet adatrésze üres.A sendcount paraméter figyelmen kívül lesz hagyva minden nem gyökérfolyamat esetében.
sendtype
A puffer egyes elemeinek adattípusa.A sendcount paraméter figyelmen kívül lesz hagyva minden nem gyökérfolyamat esetében.
recvbuf [kifelé]
Az egyes folyamatokon fogadott adatokat tartalmazó puffer leírója. A puffer elemeinek számát és adattípusát a recvcount és a recvtype paraméterek határozzák meg.recvcount
A fogadó puffer elemeinek száma. Ha a szám nulla, az üzenet adatrésze üres.recvtype
A fogadási puffer elemeinek adattípusa.Gyökér
A küldési folyamat rangja a megadott kommunikátorban.Comm
A MPI_Comm kommunikátor fogantyú.
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_SCATTER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM, IERROR
Megjegyzések
A MPI_Scatter függvény hatása olyan, mintha a gyökérfolyamat üzenetet küld a MPI_Send függvénnyel. Ez az üzenet n egyenlő szegmensre van felosztva, a csoport minden tagja számára egyet. Az i. szegmens a csoport i. folyamatához lesz elküldve.
Ha a comm egy intrakommunikátor, az eredmény olyan, mintha a gyökér n küldési műveletet MPI_Send(sendbuf + i*sendcount*extent(sendtype), sendcount, sendtype, I, …)hajtott volna végre; és minden folyamat végrehajtott egy fogadást. MPI_Recv(recvbuf, recvcount, recvtype, i,…)
A gyökérfolyamat sendcount és sendtype paramétere által megadott típusaírásnak meg kell egyeznie a recvcount által megadott típusaírással, valamint az összes folyamat recvtype paraméterével. Ezért az elküldött adatok mennyiségének meg kell egyeznie a folyamatpárok között fogadott adatok mennyiségével. A feladó és a fogadó közötti különböző típusú leképezések továbbra is engedélyezettek.
Minden függvényparaméter jelentős a gyökérfolyamatban, csak a recvbuf, a recvcount, a recvtype, a root és a comm paraméterek jelentősek a többi folyamat esetében. A gyökér - és a comm-paramétereknek minden folyamaton azonosnak kell lenniük.
A darabszámok és a típusok specifikációja nem okozhatja, hogy a gyökéren lévő helyek többször is olvashatók legyenek.
Ha a comm paraméter egy interkommunikátorra hivatkozik, akkor a hívás magában foglalja a kommunikációban lévő összes folyamatot, de egyetlen csoporttal, az A csoporttal, amely meghatározza a gyökérfolyamatot. A másik csoport (B) összes folyamata ugyanazt az értéket állítja be a gyökérparaméterben, azaz az A csoport gyökérfolyamatának rangját. A gyökérfolyamat beállítja a gyökérparaméterben MPI_ROOT értéket. Az A csoport összes többi folyamata beállítja a gyökérparaméterben MPI_PROC_NULL értéket. Az adatok a gyökérfolyamatból a B csoport összes folyamatára lesznek továbbítva. A B csoport folyamatainak pufferparamétereinek konzisztensnek kell lenniük a gyökérfolyamat pufferparaméterével .
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 |