X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/025965074dbe4c1b04466cc260260470f28b7472..6de9090dd8692387ae343c587b26915f9922d7bd:/examples/smpi/bcast.c diff --git a/examples/smpi/bcast.c b/examples/smpi/bcast.c index 002061c1e4..72ad419524 100644 --- a/examples/smpi/bcast.c +++ b/examples/smpi/bcast.c @@ -1,25 +1,40 @@ +/* Copyright (c) 2009. The SimGrid Team. + * All rights reserved. */ + +/* This program is free software; you can redistribute it and/or modify it + * under the terms of the license (GNU LGPL) which comes with this package. */ + #include #include -#define INIT_VALUE 3 -#define TARGET_VALUE 42 - -int main (int argc, char **argv) { +int main(int argc, char **argv) +{ int size, rank; - int value = INIT_VALUE; + 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 = TARGET_VALUE; + value = 17; } - fprintf(stderr,"node %d has value %d before broadcast\n", rank, value); MPI_Bcast(&value, 1, MPI_INT, 0, MPI_COMM_WORLD); - fprintf(stderr,"node %d has value %d after broadcast\n", rank, value); - if (value != TARGET_VALUE) { - fprintf(stderr,"node %d don't have the target value after broadcast!!\n", rank); - exit(1); + if (value != 17) { + printf("node %d has value %d after broadcast\n", rank, value); } + + MPI_Barrier(MPI_COMM_WORLD); + if (0 == rank && !quiet) + printf("Elapsed time on rank %d: %lf s\n", rank, + MPI_Wtime() - start_timer); MPI_Finalize(); return 0; }