X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/025965074dbe4c1b04466cc260260470f28b7472..eee4fd8a61935c3b7cbefe0768e040eeea1c9336:/examples/smpi/bcbench.c diff --git a/examples/smpi/bcbench.c b/examples/smpi/bcbench.c index 85d36565b0..daea198812 100644 --- a/examples/smpi/bcbench.c +++ b/examples/smpi/bcbench.c @@ -1,7 +1,18 @@ +/* Copyright (c) 2009-2010, 2012-2014. 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 #include +#ifdef _WIN32 + #define srandom srand + #define random rand +#endif + #define GETTIMEOFDAY_ERROR 1 #define N_START 1 @@ -11,13 +22,14 @@ #define ONE_MILLION 1000000.0 #define RAND_SEED 842270 -int main(int argc, char* argv[]) { +int main(int argc, char *argv[]) +{ int size, rank; - int N, I; - struct timeval *start_time, *stop_time; - double seconds; - int i, j, k; + int N; + struct timeval *start_time = NULL, *stop_time = NULL; + double seconds = 0; + int i, j; char *buffer; int check; @@ -29,17 +41,17 @@ int main(int argc, char* argv[]) { MPI_Comm_size(MPI_COMM_WORLD, &size); if (0 == rank) { - start_time = (struct timeval *)malloc(sizeof(struct timeval)); - stop_time = (struct timeval *)malloc(sizeof(struct timeval)); + start_time = (struct timeval *) malloc(sizeof(struct timeval)); + stop_time = (struct timeval *) malloc(sizeof(struct timeval)); } - for (N = N_START ; N <= N_STOP ; N = N_NEXT) { + for (N = N_START; N <= N_STOP; N = N_NEXT) { buffer = malloc(sizeof(char) * N); if (0 == rank) { for (j = 0; j < N; j++) { - buffer[j] = (char)(random() % 256); + buffer[j] = (char) (random() % 256); } if (-1 == gettimeofday(start_time, NULL)) { printf("couldn't set start_time on node 0!\n"); @@ -52,7 +64,8 @@ int main(int argc, char* argv[]) { MPI_Bcast(buffer, N, MPI_BYTE, 0, MPI_COMM_WORLD); if (0 == rank) { for (j = 1; j < size; j++) { - MPI_Recv(&check, 1, MPI_INT, MPI_ANY_SOURCE, 1, MPI_COMM_WORLD, MPI_STATUS_IGNORE); + MPI_Recv(&check, 1, MPI_INT, MPI_ANY_SOURCE, 1, MPI_COMM_WORLD, + MPI_STATUS_IGNORE); } } else { MPI_Send(&rank, 1, MPI_INT, 0, 1, MPI_COMM_WORLD); @@ -65,13 +78,18 @@ int main(int argc, char* argv[]) { MPI_Abort(MPI_COMM_WORLD, GETTIMEOFDAY_ERROR); exit(EXIT_FAILURE); } - seconds = (double)(stop_time->tv_sec - start_time->tv_sec) + (double)(stop_time->tv_usec - start_time->tv_usec) / ONE_MILLION; + seconds = + (double) (stop_time->tv_sec - start_time->tv_sec) + + (double) (stop_time->tv_usec - + start_time->tv_usec) / ONE_MILLION; } free(buffer); if (0 == rank) { - printf("N: %10d, iter: %d, time: %10f s, avg rate: %12f Mbps\n", N, ITER, seconds, ((double)N * ITER * 8) / (1024.0 * 1024.0 * seconds)); + printf("N: %10d, iter: %d, time: %10f s, avg rate: %12f Mbps\n", N, + ITER, seconds, + ((double) N * ITER * 8) / (1024.0 * 1024.0 * seconds)); } }