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