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 |