X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/865f97c868ce92518b1cf4f23e23bd1b16b7917c..f301027bdd26302bdc73aa7c93b022dd75439256:/examples/smpi/reduce.c diff --git a/examples/smpi/reduce.c b/examples/smpi/reduce.c index bc74092050..2946edc930 100644 --- a/examples/smpi/reduce.c +++ b/examples/smpi/reduce.c @@ -24,7 +24,7 @@ * ENHANCEMENTS, OR MODIFICATIONS. * *************************************************************************** **/ -int ibm_test(int rank, int size) +static int ibm_test(int rank, int size) { int success = 1; #define MAXLEN 10000 @@ -43,8 +43,8 @@ int ibm_test(int rank, int size) if (rank == root) { for (k = 0; k < j; k++) { if (in[k] != k * size) { - printf("bad answer (%d) at index %d of %d (should be %d)", in[k], k, - j, k * size); + printf("bad answer (%d) at index %d of %d (should be %d)", in[k], + k, j, k * size); success = 0; break; } @@ -65,19 +65,24 @@ int main(int argc, char **argv) int sum = -99, sum_mirror = -99, min = 999, max = -999; double start_timer; + int quiet = 0; MPI_Init(&argc, &argv); MPI_Comm_size(MPI_COMM_WORLD, &size); MPI_Comm_rank(MPI_COMM_WORLD, &rank); + if (argc > 1 && !strcmp(argv[1], "-q")) + quiet = 1; + start_timer = MPI_Wtime(); value = rank + 1; /* easy to verify that sum= (size*(size+1))/2; */ - printf("[%d] has value %d\n", rank, value); + //printf("[%d] has value %d\n", rank, value); MPI_Reduce(&value, &sum, 1, MPI_INT, MPI_SUM, root, MPI_COMM_WORLD); - MPI_Reduce(&value, &sum_mirror, 1, MPI_INT, MPI_SUM, root, MPI_COMM_WORLD); + MPI_Reduce(&value, &sum_mirror, 1, MPI_INT, MPI_SUM, root, + MPI_COMM_WORLD); MPI_Reduce(&value, &min, 1, MPI_INT, MPI_MIN, root, MPI_COMM_WORLD); MPI_Reduce(&value, &max, 1, MPI_INT, MPI_MAX, root, MPI_COMM_WORLD); @@ -99,7 +104,8 @@ int main(int argc, char **argv) printf("ok.\n"); else printf("failed.\n"); - printf("Elapsed time=%lf s\n", MPI_Wtime() - start_timer); + if (!quiet) + printf("Elapsed time=%lf s\n", MPI_Wtime() - start_timer); } MPI_Barrier(MPI_COMM_WORLD); @@ -108,8 +114,10 @@ int main(int argc, char **argv) printf("** IBM Test Result: ... \n"); if (!ibm_test(rank, size)) printf("\t[%d] failed.\n", rank); - else + else if (!quiet) printf("\t[%d] ok.\n", rank); + else + printf("\tok.\n"); MPI_Finalize(); return 0;