Sdílet prostřednictvím


MPI_Bcast funkce

Vysílá data od jednoho člena skupiny do všech členů skupiny.

Syntaxe

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

Parametry

  • buffer [in, out]
    Ukazatel na vyrovnávací paměť dat. V procesu určeném kořenovým parametrem obsahuje vyrovnávací paměť data, která se mají vysílat. U všech ostatních procesů v komunikátoru určených parametrem comm přijímá vyrovnávací paměť data všesměrového vysílání kořenovým procesem.

  • count [in]
    Počet datových prvků ve vyrovnávací paměti. Pokud je parametr count nula, datová část zprávy je prázdná.

  • datový typ [v]
    Datový typ MPI prvků ve vyrovnávací paměti pro odesílání.

  • root [v]
    Pořadí procesu, který odesílá data.

  • comm [in]
    Popisovač MPI_Comm komunikátoru.

Vrácená hodnota

Vrátí MPI_SUCCESS při úspěchu. V opačném případě je návratovou hodnotou kód chyby.

Ve Fortranu je vrácená hodnota uložena v parametru IERROR .

Fortran

    MPI_BCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, IERROR)
        <type> BUFFER(*)  
        INTEGER COUNT, DATATYPE, ROOT, COMM, IERROR

Poznámky

Podpis typu určený parametry count a datatype pro každý proces se musí rovnat podpisu typu v kořenovém adresáři. Tento požadavek znamená, že množství odeslaných dat musí být stejné jako množství přijatých mezi jednotlivými procesy a kořenem. toto omezení platí pro MPI_Bcast a všechny ostatní rutiny pro přesun dat. Mapování různých typů mezi odesílatelem a příjemcem je stále povolené.

Pokud parametr comm odkazuje na intracommunicator, funkce MPI_Bcast vysílá zprávu ze zadaného procesu do všech procesů skupiny, která zahrnuje sebe sama. Volají ho všichni členové skupiny, kteří používají stejné parametry. Při vrácení se obsah kořenové vyrovnávací paměti zkopíruje do všech ostatních procesů.

Pokud parametr comm odkazuje na interkomunikator, pak volání zahrnuje všechny procesy v interkomunikátoru, ale s jednou skupinou, skupinou A, která definuje kořenový proces. Všechny procesy v druhé skupině, skupině B, nastaví stejnou hodnotu v kořenovém parametru, tj. pořadí kořenového procesu ve skupině A. Kořenový proces nastaví hodnotu MPI_ROOT v parametru root . Všechny ostatní procesy ve skupině A nastavte hodnotu MPI_PROC_NULL v kořenovém parametru. Data se vysílaly z kořenového procesu do všech procesů ve skupině B. Parametry vyrovnávací paměti procesů ve skupině B musí být konzistentní s parametrem vyrovnávací paměti kořenového procesu.

Požadavky

Produkt

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package nebo HPC Pack 2008 Client Utilities

Hlavička

Mpi.h; Soubor Mpif.h

Knihovna

Msmpi.lib

DLL

Msmpi.dll

Viz také

Kolektivní funkce MPI

MPI_Datatype