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 |