Partager via


MPI_Bcast fonction

Diffuse les données d’un membre d’un groupe vers tous les membres du groupe.

Syntaxe

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

Paramètres

  • tampon [in, out]
    Pointeur vers la mémoire tampon de données. Sur le processus spécifié par le paramètre racine , la mémoire tampon contient les données à diffuser. Sur tous les autres processus du communicateur spécifié par le paramètre comm , la mémoire tampon reçoit les données diffusées par le processus racine.

  • count [in]
    Nombre d’éléments de données dans la mémoire tampon. Si le paramètre count est égal à zéro, la partie données du message est vide.

  • datatype [in]
    Type de données MPI des éléments dans la mémoire tampon d’envoi.

  • racine [in]
    Classement du processus qui envoie les données.

  • comm [in]
    Handle de communication MPI_Comm .

Valeur retournée

Retourne MPI_SUCCESS en cas de réussite. Sinon, la valeur de retour est un code d’erreur.

Dans Fortran, la valeur de retour est stockée dans le paramètre IERROR .

Fortran

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

Remarques

La signature de type spécifiée par les paramètres count et datatype sur chaque processus doit être égale à la signature de type à la racine. Cette exigence implique que la quantité de données envoyées doit être égale à la quantité reçue, par paire entre chaque processus et la racine. MPI_Bcast et toutes les autres routines collectives de déplacement des données appliquent cette restriction. Les mappages de types distincts entre l’expéditeur et le destinataire sont toujours autorisés.

Si le paramètre comm fait référence à un intracommunicateur, la fonction MPI_Bcast diffuse un message du processus spécifié à tous les processus du groupe qui s’inclut lui-même. Il est appelé par tous les membres du groupe qui utilisent les mêmes paramètres. Au retour, le contenu de la mémoire tampon racine est copié dans tous les autres processus.

Si le paramètre comm fait référence à un intercommunicateur, l’appel implique tous les processus de l’intercommunicateur, mais avec un groupe, le groupe A, qui définit le processus racine. Tous les processus de l’autre groupe, le groupe B, définissent la même valeur dans le paramètre racine , c’est-à-dire le rang du processus racine dans le groupe A. Le processus racine définit la valeur MPI_ROOT dans le paramètre racine . Tous les autres processus du groupe A définissent la valeur MPI_PROC_NULL dans le paramètre racine . Les données sont diffusées à partir du processus racine vers tous les processus du groupe B. Les paramètres de mémoire tampon des processus du groupe B doivent être cohérents avec le paramètre de mémoire tampon du processus racine.

Configuration requise

Produit

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

En-tête

Mpi.h ; Mpif.h

Bibliothèque

Msmpi.lib

DLL

Msmpi.dll

Voir aussi

Fonctions collectives MPI

MPI_Datatype