Dela via


funktionen MPI_Bcast

Sänder data från en medlem i en grupp till alla medlemmar i gruppen.

Syntax

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

Parametrar

  • buffert [in, ut]
    Pekaren till databufferten. På den process som anges av rotparametern innehåller bufferten de data som ska sändas. På alla andra processer i kommunikatören som anges av comm-parametern tar bufferten emot data som sänds av rotprocessen.

  • count [in]
    Antalet dataelement i bufferten. Om parametern count är noll är datadelen av meddelandet tom.

  • datatype [in]
    MPI-datatypen för elementen i sändningsbufferten.

  • root [in]
    Rangordningen för den process som skickar data.

  • comm [in]
    Den MPI_Comm kommunikationshandtaget.

Returvärde

Returnerar MPI_SUCCESS vid lyckat resultat. Annars är returvärdet en felkod.

I Fortran lagras returvärdet i parametern IERROR .

Fortran

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

Kommentarer

Typsignaturen som anges av parametrarna count och datatype för varje process måste vara lika med typsignaturen i roten. Det här kravet innebär att mängden data som skickas måste vara lika med den mängd som tas emot, parvis mellan varje process och roten. MPI_Bcast och alla andra kollektiva rutiner för dataflytt gör den här begränsningen. Distinkta typmappningar mellan avsändare och mottagare tillåts fortfarande.

Om comm-parametern refererar till en intracommunicator sänder MPI_Bcast-funktionen ett meddelande från den angivna processen till alla processer i gruppen som innehåller sig själv. Den anropas av alla medlemmar i gruppen som använder samma parametrar. Vid retur kopieras innehållet i rotbufferten till alla andra processer.

Om parametern comm refererar till en intercommunicator omfattar anropet alla processer i intercommunicator, men med en grupp, grupp A, som definierar rotprocessen. Alla processer i den andra gruppen, grupp B, anger samma värde i rotparametern, d.v.s. rotprocessens rangordning i grupp A. Rotprocessen anger värdet MPI_ROOT i rotparametern. Alla andra processer i grupp A anger värdet MPI_PROC_NULL i rotparametern . Data sänds från rotprocessen till alla processer i grupp B. Buffertparametrarna för processerna i grupp B måste vara konsekventa med buffertparametern för rotprocessen.

Krav

Produkt

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

Huvud

Mpi.h; Mpif.h

Bibliotek

Msmpi.lib

DLL

Msmpi.dll

Se även

MPI Collective Functions

MPI_Datatype