/* file: reduce2.c compile: cc reduce2.c -lmpi run: mpirun -np 4 ./a.out */ #include "mpi.h" main( argc, argv ) int argc; char **argv; { int myrank; int p; int sum, v; MPI_Init( &argc, &argv ); MPI_Comm_rank( MPI_COMM_WORLD, &myrank ); MPI_Comm_size( MPI_COMM_WORLD, &p ); v = myrank; MPI_Reduce(&v, &sum, 1, MPI_INT, MPI_SUM, 0, MPI_COMM_WORLD); if (myrank == 0){ printf("sum of all ranks = %d\n", sum); } MPI_Finalize(); }