MPI_Reduce
Réduit les valeurs de tous les processus en une seule valeur.
📝Syntaxe
r = MPI_Reduce(Value, Operation, Root)
r = MPI_Reduce(Value, Operation, Root, 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
Root entier : rang du processus root.
Comm a MPI_Comm object.
📤Arguments de sortie
Paramètre Description
r valeur reçue
📄Description

Réduit les valeurs de tous les processus en une seule valeur.

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_Reduce.

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

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