r = MPI_Reduce(Value, Operation, Root)
r = MPI_Reduce(Value, Operation, Root, Comm)
| 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. |
| Paramètre | Description |
|---|---|
| r | valeur reçue |
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.
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
| Version | Description |
|---|---|
| 1.0.0 | version initiale |