From: mquinson Date: Fri, 26 Jun 2009 20:22:34 +0000 (+0000) Subject: Finalize the smpi test (it works) X-Git-Tag: SVN~1266 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/eb35f005960fefa613cc51e8f4d786f58b11849e Finalize the smpi test (it works) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@6374 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/examples/smpi/bcast.c b/examples/smpi/bcast.c index 27b58eee09..608c5c3598 100644 --- a/examples/smpi/bcast.c +++ b/examples/smpi/bcast.c @@ -5,22 +5,26 @@ int main (int argc, char **argv) { int size, rank; int value = 3; 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(); if (0 == rank) { value = 17; } - printf("node %d has value %d\n", rank, value); + printf("node %d has value %d before broadcast\n", rank, value); MPI_Bcast(&value, 1, MPI_INT, 0, MPI_COMM_WORLD); - printf("node %d has value %d\n", rank, value); + printf("node %d has value %d after broadcast\n", rank, value); MPI_Barrier( MPI_COMM_WORLD ); - if ( 0 == rank) + if ( 0 == rank && !quiet) printf("Elapsed time on rank %d: %lf s\n", rank, MPI_Wtime()-start_timer); MPI_Finalize(); return 0; diff --git a/examples/smpi/bcast.tesh b/examples/smpi/bcast.tesh index 3584c6d8aa..3dfe4076a7 100644 --- a/examples/smpi/bcast.tesh +++ b/examples/smpi/bcast.tesh @@ -1,41 +1,84 @@ -# define a variable for the command line since it's so long -# (since we use it only in rewriting in this file, defining it once is enough) -! setenv cmdline=../../src/smpi/smpirun -quiet -hostfile hostfile -platform ../msg/small_platform.xml - # use the tested library, not the installed one # (since we want to pass it to the child, it has to be redefined before each command) ! setenv LD_LIBRARY_PATH=../../src/.libs -# Ignore the output since it contains timing information depending on the host speed -# (FIXME: add an option to SIMIX to not display this timing) -! output display - # Go for the first test p Test Broadcast with less processes than hosts -$ ${cmdline} -np 3 ./bcast +$ ../../src/smpi/smpirun -quiet -hostfile hostfile -platform ../msg/small_platform.xml -np 3 ./bcast -q > [rank 0] -> Tremblay > [rank 1] -> Jupiter > [rank 2] -> Fafard -> node 1 has value 3 before broadcast > node 0 has value 17 before broadcast +> node 1 has value 3 before broadcast > node 2 has value 3 before broadcast > node 1 has value 17 after broadcast > node 0 has value 17 after broadcast > node 2 has value 17 after broadcast -> [0.000000] [smpi_kernel/INFO] simulation time 0.00343892 # second test p Test Broadcast with as much processes than hosts -! output display ! setenv LD_LIBRARY_PATH=../../src/.libs -$ ${cmdline} -np 6 ./bcast +$ ../../src/smpi/smpirun -quiet -hostfile hostfile -platform ../msg/small_platform.xml -np 6 ./bcast -q +> [rank 0] -> Tremblay +> [rank 1] -> Jupiter +> [rank 2] -> Fafard +> [rank 3] -> Ginette +> [rank 4] -> Bourassa +> [rank 5] -> Tremblay +> node 0 has value 17 before broadcast +> node 1 has value 3 before broadcast +> node 2 has value 3 before broadcast +> node 3 has value 3 before broadcast +> node 4 has value 3 before broadcast +> node 5 has value 3 before broadcast +> node 4 has value 17 after broadcast +> node 0 has value 17 after broadcast +> node 5 has value 17 after broadcast +> node 2 has value 17 after broadcast +> node 1 has value 17 after broadcast +> node 3 has value 17 after broadcast # Another test p Test Broadcast with more processes than hosts -! output display ! setenv LD_LIBRARY_PATH=../../src/.libs -$ ${cmdline} -np 12 ./bcast +$ ../../src/smpi/smpirun -quiet -hostfile hostfile -platform ../msg/small_platform.xml -np 12 ./bcast -q +> [rank 0] -> Tremblay +> [rank 1] -> Jupiter +> [rank 2] -> Fafard +> [rank 3] -> Ginette +> [rank 4] -> Bourassa +> [rank 5] -> Tremblay +> [rank 6] -> Jupiter +> [rank 7] -> Fafard +> [rank 8] -> Ginette +> [rank 9] -> Bourassa +> [rank 10] -> Tremblay +> [rank 11] -> Jupiter +> node 0 has value 17 before broadcast +> node 1 has value 3 before broadcast +> node 2 has value 3 before broadcast +> node 3 has value 3 before broadcast +> node 4 has value 3 before broadcast +> node 5 has value 3 before broadcast +> node 6 has value 3 before broadcast +> node 7 has value 3 before broadcast +> node 8 has value 3 before broadcast +> node 9 has value 3 before broadcast +> node 10 has value 3 before broadcast +> node 11 has value 3 before broadcast +> node 10 has value 17 after broadcast +> node 8 has value 17 after broadcast +> node 0 has value 17 after broadcast +> node 11 has value 17 after broadcast +> node 7 has value 17 after broadcast +> node 9 has value 17 after broadcast +> node 3 has value 17 after broadcast +> node 5 has value 17 after broadcast +> node 1 has value 17 after broadcast +> node 6 has value 17 after broadcast +> node 2 has value 17 after broadcast +> node 4 has value 17 after broadcast