X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/ba655c7ff842ea643ab10d3c3bb36dbaf6a934fd..e1bd9c56e6a6bc5f0bf6902209e1e668ac274644:/teshsuite/smpi/macro-sample/macro-sample.c diff --git a/teshsuite/smpi/macro-sample/macro-sample.c b/teshsuite/smpi/macro-sample/macro-sample.c index 9f8546de1a..5696f75f89 100644 --- a/teshsuite/smpi/macro-sample/macro-sample.c +++ b/teshsuite/smpi/macro-sample/macro-sample.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2009-2014. The SimGrid Team. +/* Copyright (c) 2009-2019. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -13,8 +13,7 @@ static double compute(double d0) { double d = d0; - int j; - for (j = 0; j < 100 * 1000 * 1000; j++) { /* 100 kflop */ + for (int j = 0; j < 100 * 1000 * 1000; j++) { /* 100 kflop */ if (d < 100000) { d = d * d; } else { @@ -26,48 +25,43 @@ static double compute(double d0) int main(int argc, char *argv[]) { - int verbose; - int i, n; - double d; + int n; + int rank; MPI_Init(&argc, &argv); - verbose = argc <= 1; + int verbose = argc <= 1; MPI_Comm_size(MPI_COMM_WORLD, &n); - d = 2.0; - for (i = 0; i < 5; i++) { + MPI_Comm_rank(MPI_COMM_WORLD, &rank); + double d = 2.0; /* I want no more than n + 1 benchs (thres < 0) */ - SMPI_SAMPLE_GLOBAL(n + 1, -1) { + SMPI_SAMPLE_GLOBAL(int i = 0, i < 5, i++, n + 1, -1){ if (verbose) - fprintf(stderr, "(%12.6f) [rank:%d]", MPI_Wtime(), smpi_process_index()); + fprintf(stderr, "(%12.6f) [rank:%d]", MPI_Wtime(), rank); else fprintf(stderr, "(0)"); fprintf(stderr, " Run the first computation. It's globally benched, " "and I want no more than %d benchmarks (thres<0)\n", n + 1); d = compute(2.0); - } } n = 0; - for (i = 0; i < 5; i++) { - /* I want the standard error to go below 0.1 second. - * Two tests at least will be run (count is not > 0) */ - SMPI_SAMPLE_LOCAL(0, 0.1) { - if (verbose || n++ < 2) { + SMPI_SAMPLE_LOCAL (int i = 0, i < 5, i++,0, 0.1){ + if (verbose || n < 2) { + n++; if (verbose) fprintf(stderr, "(%12.6f)", MPI_Wtime()); else fprintf(stderr, "(1)"); fprintf(stderr, - " [rank:%d] Run the first (locally benched) computation. It's locally benched, and I want the " - "standard error to go below 0.1 second (count is not >0)\n", smpi_process_index()); + " [rank:%d] Run the second (locally benched) computation. It's locally benched, and I want the " + "standard error to go below 0.1 second (count is not >0)\n", rank); } d = compute(d); - } } if (verbose) - fprintf(stderr, "(%12.6f) [rank:%d] The result of the computation is: %f\n", MPI_Wtime(), smpi_process_index(), d); + fprintf(stderr, "(%12.6f) [rank:%d] The result of the computation is: %f\n", MPI_Wtime(), rank, d); else - fprintf(stderr, "(2) [rank:%d] Done.\n", smpi_process_index()); + fprintf(stderr, "(2) [rank:%d] Done.\n", rank); MPI_Finalize(); return 0;