Nyelv

MPI_Bcast függvény

A csoport egyik tagjától származó adatokat a csoport összes tagjának közvetíti.

Szintaxis

int MPIAPI MPI_Bcast(
  _Inout_  void        *buffer,
  _In_    int          count,
  _In_    MPI_Datatype datatype,
  _In_    int          root,
  _In_    MPI_Comm     comm
);

Paraméterek

  • puffer [be, ki]
    Az adatpufferre mutató mutató. A gyökérparaméter által megadott folyamat során a puffer tartalmazza a közvetítendő adatokat. A kommunikátorban a comm paraméter által megadott összes többi folyamat esetében a puffer fogadja a gyökérfolyamat által közvetített adatokat.

  • count [in]
    A pufferben lévő adatelemek száma. Ha a darabszám paraméter nulla, az üzenet adatrésze üres.

  • datatype [in]
    A küldési puffer elemeinek MPI-adattípusa.

  • root [in]
    Az adatokat küldő folyamat rangja.

  • comm [in]
    A MPI_Comm communicator leírója.

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_BCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, IERROR)
        <type> BUFFER(*)  
        INTEGER COUNT, DATATYPE, ROOT, COMM, IERROR

Megjegyzések

Az egyes folyamatok szám- és adattípusparaméterei által megadott típusadaktanak meg kell egyeznie a gyökérszintű típusadékírással. Ez a követelmény azt jelenti, hogy az elküldött adatok mennyiségének meg kell egyeznie az egyes folyamatok és a gyökér között kapott összeggel. MPI_Bcast és minden más adatáthelyezési kollektív rutin ezt a korlátozást teszi lehetővé. A feladó és a fogadó közötti különböző típusleképek továbbra is engedélyezettek.

Ha a komm paraméter egy intrakommunikátorra hivatkozik, a MPI_Bcast függvény egy üzenetet küld a megadott folyamatból a csoport összes olyan folyamatának, amely magában foglalja magát. Ezt a csoport összes olyan tagja hívja meg, amely ugyanazokat a paramétereket használja. A rendszer a gyökérpuffer tartalmát visszamásolja az összes többi folyamatba.

Ha a komm paraméter egy interkommunikátorra hivatkozik, akkor a hívás magában foglalja az interkommunikátor összes folyamatát, de egy olyan csoporttal, az A csoporttal, amely meghatározza a gyökérfolyamatot. A másik csoport összes folyamata, a B csoport, 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 csoportban lévő folyamatok pufferparamétereinek összhangban 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 terjeszthető csomag vagy HPC Pack 2008 Client Utilities

Fejléc

Mpi.h; Mpif.h

Kódtár

Msmpi.lib

DLL

Msmpi.dll

Lásd még

MPI kollektív függvények

MPI_Datatype