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 |