Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
fix: correct trace mask checking
[simgrid.git] / src / smpi / sample / reduce.c
1 #include <stdio.h>
2 #include <mpi.h>
3
4 int main (int argc, char **argv) {
5   int size, rank;
6   int root=0;
7   int value = 1;
8   int sum=-99;
9
10   double start_timer;
11
12
13   MPI_Init(&argc, &argv);
14   MPI_Comm_size(MPI_COMM_WORLD, &size);
15   MPI_Comm_rank(MPI_COMM_WORLD, &rank);
16
17   start_timer = MPI_Wtime();
18
19   printf("rank %d has value %d\n", rank, value);
20   MPI_Reduce(&value, &sum, 1, MPI_INT, MPI_SUM, root, MPI_COMM_WORLD);
21   if ( rank == root) {
22           printf("On root: sum=%d\n",sum);
23             printf("Elapsed time=%lf s\n", MPI_Wtime()-start_timer);
24   }
25   MPI_Finalize();
26   return 0;
27 }