Udostępnij za pośrednictwem


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

Zobacz też

Funkcje zbiorowe MPI

MPI_Datatype