MPI_Allreduce
Combine les valeurs de tous les processus et distribue le résultat à tous les processus.
📝Syntaxe
r = MPI_Allreduce(Value, Operation, Comm)
📥Arguments d'entrée
Paramètre Description
Value valeur à envoyer : tableau numérique ou logique (sparse non supporté).
Operation chaîne : MPI_SUM, MPI_MAX, MPI_MIN, MPI_PROD, MPI_LAND, MPI_LOR, MPI_BAND, MPI_BOR, MPI_LXOR ou MPI_BXOR
Comm a MPI_Comm object.
📤Arguments de sortie
Paramètre Description
r valeur reçue
📄Description

Combine les valeurs de tous les processus et distribue le résultat à tous les processus.

Nelson ne vérifie pas que les tableaux fournis aux opérations de réduction sont de la même taille sur tous les processus du groupe.

Assurez-vous que chaque processus passe un tableau de la même taille à MPI_Allreduce.

💡Exemples
mpiexec([modulepath('mpi'), '/examples/help_examples/MPI_Allreduce.m'], 4)
if ~MPI_Initialized()
  MPI_Init();
end
comm = MPI_Comm_object();
my_rank = MPI_Comm_rank ();
num_ranks = MPI_Comm_size();

A = [1 + my_rank:3 + my_rank]
B = MPI_Allreduce(A, 'MPI_PROD', comm);
if (my_rank == 0)
  disp('Result:')
  disp(B);
end
if MPI_Initialized()
  MPI_Finalize();
end
🔗Voir aussi
MPI_Reduce
🕔Historique des versions
Version Description
1.0.0 version initiale
Modifier cette page sur GitHub