MPI_Bcast, funkcja
Emituje dane z jednego członka grupy do wszystkich członków grupy.
Składnia
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]
Wskaźnik do buforu danych. W procesie określonym przez parametr główny bufor zawiera dane do emisji. We wszystkich innych procesach komunikatora, który jest określony przez parametr comm , bufor odbiera dane emisji przez proces główny.count [in]
Liczba elementów danych w buforze. Jeśli parametr count ma wartość zero, część danych komunikatu jest pusta.datatype [in]
Typ danych MPI elementów w buforze wysyłania.root [in]
Ranga procesu, który wysyła dane.comm [in]
Uchwyt komunikatora MPI_Comm .
Wartość zwracana
Zwraca MPI_SUCCESS powodzenia. W przeciwnym razie wartość zwracana jest kodem błędu.
W fortran wartość zwracana jest przechowywana w parametrze IERROR .
Fortran
MPI_BCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, IERROR)
<type> BUFFER(*)
INTEGER COUNT, DATATYPE, ROOT, COMM, IERROR
Uwagi
Sygnatura typu określona przez parametry count i datatype w każdym procesie musi być równa podpisowi typu w katalogu głównym. To wymaganie oznacza, że ilość wysyłanych danych musi być równa liczbie odebranych, sparowanych między każdym procesem a katalogem głównym. MPI_Bcast i wszystkie inne zbiorowe procedury przenoszenia danych sprawiają, że to ograniczenie. Różne mapy typów między nadawcą i odbiornikiem są nadal dozwolone.
Jeśli parametr comm odwołuje się do intracommunicator, funkcja MPI_Bcast emituje komunikat z określonego procesu do wszystkich procesów grupy, która zawiera się. Jest wywoływana przez wszystkich członków grupy, które używają tych samych parametrów. Po powrocie zawartość buforu głównego jest kopiowana do wszystkich pozostałych procesów.
Jeśli parametr comm odwołuje się do intercommunicator, wywołanie obejmuje wszystkie procesy w interkomunikatorze, ale z jedną grupą, grupą A, która definiuje proces główny. Wszystkie procesy w innej grupie, grupa B, ustaw tę samą wartość w parametrze głównym , czyli rangę procesu głównego w grupie A. Proces główny ustawia wartość MPI_ROOT w parametrze głównym . Wszystkie inne procesy w grupie A ustawiają wartość MPI_PROC_NULL w parametrze głównym . Dane są emitowane z procesu głównego do wszystkich procesów w grupie B. Parametry buforu procesów w grupie B muszą być spójne z parametrem buforu procesu głównego.
Wymagania
Produkt |
Pakiet redystrybucyjny PROGRAMU HPC Pack 2012 MS-MPI, pakiet redystrybucyjny HPC Pack 2008 R2 MS-MPI, pakiet redystrybucyjny PAKIETU HPC Pack 2008 MS-MPI lub narzędzia klienckie PAKIETU HPC Pack 2008 |
Nagłówek |
Mpi.h; Mpif.h |
Biblioteka |
Msmpi.lib |
DLL |
Msmpi.dll |