Delen via


MPI_Bcast functie

Hiermee worden gegevens van één lid van een groep uitgezonden naar alle leden van de groep.

Syntaxis

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

Parameters

  • buffer [in, uit]
    De aanwijzer naar de gegevensbuffer. In het proces dat is opgegeven door de hoofdparameter , bevat de buffer de gegevens die moeten worden uitgezonden. Bij alle andere processen in de communicator die is opgegeven door de parameter comm , ontvangt de buffer de gegevensuitzending door het hoofdproces.

  • aantal [in]
    Het aantal gegevenselementen in de buffer. Als de parameter count nul is, is het gegevensgedeelte van het bericht leeg.

  • gegevenstype [in]
    Het MPI-gegevenstype van de elementen in de verzendbuffer.

  • root [in]
    De rang van het proces dat de gegevens verzendt.

  • comm [in]
    De MPI_Comm communicator-ingang.

Retourwaarde

Retourneert MPI_SUCCESS bij succes. Anders is de retourwaarde een foutcode.

In Fortran wordt de retourwaarde opgeslagen in de parameter IERROR .

Fortran

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

Opmerkingen

De typehandtekening zoals opgegeven door de parameters aantal en gegevenstype voor elk proces moet gelijk zijn aan de typehandtekening in de hoofdmap. Deze vereiste impliceert dat de hoeveelheid verzonden gegevens gelijk moet zijn aan de hoeveelheid ontvangen, in combinatie tussen elk proces en de hoofdmap. MPI_Bcast en alle andere collectieve routines voor gegevensverplaatsing maken deze beperking. Afzonderlijke typekaarten tussen afzender en ontvanger zijn nog steeds toegestaan.

Als de comm-parameter verwijst naar een intracommunicator, verzendt de functie MPI_Bcast een bericht van het opgegeven proces naar alle processen van de groep die zichzelf omvat. Het wordt aangeroepen door alle leden van de groep die dezelfde parameters gebruiken. Bij terugkeer wordt de inhoud van de hoofdbuffer gekopieerd naar alle andere processen.

Als de comm-parameter verwijst naar een intercommunicator, omvat de aanroep alle processen in de intercommunicator, maar met één groep, groep A, die het basisproces definieert. Alle processen in de andere groep, groep B, stellen dezelfde waarde in de hoofdparameter in, dat wil gezegd, de rang van het basisproces in groep A. Met het basisproces wordt de waarde MPI_ROOT in de parameter root ingesteld. Alle andere processen in groep A stellen de waarde MPI_PROC_NULL in de parameter root . Gegevens worden vanuit het hoofdproces verzonden naar alle processen in groep B. De bufferparameters van de processen in groep B moeten consistent zijn met de bufferparameter van het basisproces.

Vereisten

Product

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

Header

Mpi.h; Mpif.h

Bibliotheek

Msmpi.lib

DLL

Msmpi.dll

Zie ook

Collectieve MPI-functies

MPI_Datatype