Partager via


fonction MPI_Ibcast

Diffuse un message du processus avec le rang « racine » à tous les autres processus du communicator de manière non bloquante.

Syntaxe

int MPIAPI MPI_Ibcast(
  _Inout_  void        *buffer,
  _In_    int          count,
  _In_    MPI_Datatype datatype,
  _In_    int          root,
  _In_    MPI_Comm     comm,
  _Out_   MPI_Request  *request
);

Paramètres

  • de mémoire 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 communicator spécifié par le paramètre comm, la mémoire tampon reçoit les données diffusées par le processus racine. de mémoire tampon se compose d'nombre éléments successifs du MPI_Datatype indiqués par le handle de type de données . La longueur du message est spécifiée en termes de nombre d’éléments, et non de nombre d’octets.

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

  • de type de données [in]
    Handle MPI_Datatype représentant le type de données de chaque élément dans mémoire tampon.

  • racine [in]
    Classement du processus dans le MPI_Commcomm envoyer mémoire tampon.

  • comm [in]
    Handle de communicator MPI_Comm.

  • demande [out]
    MPI_Request handle représentant l’opération de communication..

Valeur de retour

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_IBCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR)
        <type> BUFFER(*)  
        INTEGER COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR

Remarques

Un appel non bloquant lance une opération de diffusion collective qui doit être effectuée dans un appel d’achèvement distinct. Une fois lancée, l’opération peut progresser indépendamment de tout calcul ou autre communication au niveau des processus participants. De cette façon, les opérations de diffusion non bloquantes peuvent atténuer les effets de synchronisation possibles des opérations de diffusion en les exécutant en arrière-plan.

Tous les appels d’achèvement (par exemple, MPI_Wait) sont pris en charge pour les opérations de diffusion non bloquantes.

Exigences

Produit

Microsoft MPI v6

En-tête

Mpi.h ; Mpif.h

Bibliothèque

Msmpi.lib

DLL

Msmpi.dll

Voir aussi

fonctions collectives MPI

MPI_Bcast

MPI_Datatype

MPI_Test

MPI_Testall

MPI_Testany

MPI_Testsome

MPI_Wait

MPI_Waitall

MPI_Waitany

MPI_Waitsome

MPI_Comm