X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/309519cea2b6a86eecee99369b8d5a383b71c1a5..d51e11eeca324570cf038a3bf6a5d05109903633:/examples/smpi/MM/2.5D_MM.c diff --git a/examples/smpi/MM/2.5D_MM.c b/examples/smpi/MM/2.5D_MM.c index 514ac43af2..eb61096c23 100644 --- a/examples/smpi/MM/2.5D_MM.c +++ b/examples/smpi/MM/2.5D_MM.c @@ -1,13 +1,11 @@ /*! * 2.5D Block Matrix Multiplication example * - * Authors: Quintin Jean-Noël */ #include "Matrix_init.h" #include "Summa.h" #include "2.5D_MM.h" -#include "timer.h" #include #include "xbt/log.h" #define CHECK_25D 1 @@ -19,7 +17,8 @@ double two_dot_five( size_t m, size_t k, size_t n, size_t Block_size, size_t group, size_t key, size_t size_row, size_t size_col, size_t NB_groups ){ - double *a, *b, *c, *res; + double *a, *b, *c; + double *res = NULL; /* Split the communicator into groups */ /* Find out my identity in the default communicator */ @@ -30,9 +29,9 @@ double two_dot_five( double time, communication_time = 0; - struct timespec start_time, end_time; //time mesure - struct timespec end_time_intern; //time mesure - struct timespec start_time_reduce, end_time_reduce; //time mesure + double start_time, end_time; //time mesure + double end_time_intern; //time mesure + double start_time_reduce, end_time_reduce; //time mesure MPI_Comm my_world; @@ -181,7 +180,7 @@ double two_dot_five( MPI_Barrier(my_world); - get_time(&start_time); + start_time = MPI_Wtime(); if( NB_groups > 1 ) { err = MPI_Bcast(a, m*k_a, MPI_DOUBLE, 0, group_line); if (err != MPI_SUCCESS) { @@ -195,8 +194,8 @@ double two_dot_five( } MPI_Barrier(my_world); } - get_time(&end_time_intern); - communication_time += get_timediff(&start_time,&end_time_intern); + end_time_intern = MPI_Wtime(); + communication_time += start_time - end_time_intern; XBT_INFO( "group %zu NB_block: %zu, NB_groups %zu\n" ,group,NB_Block, NB_groups); @@ -220,7 +219,7 @@ double two_dot_five( MPI_Comm_rank(group_line, &myrank); MPI_Barrier(my_world); - get_time(&start_time_reduce); + start_time_reduce = MPI_Wtime(); if( NB_groups > 1 ) { // a gather is better? err = MPI_Reduce(c, res, m*n, MPI_DOUBLE, MPI_SUM, 0, group_line); @@ -234,12 +233,12 @@ double two_dot_five( res=swap; } MPI_Barrier(my_world); - get_time(&end_time_reduce); + end_time_reduce = MPI_Wtime(); MPI_Barrier(my_world); - get_time(&end_time); - time = get_timediff(&start_time,&end_time); - double reduce_time = get_timediff(&start_time_reduce,&end_time_reduce); + end_time = MPI_Wtime(); + time = start_time - end_time; + double reduce_time = start_time_reduce - end_time_reduce; printf("communication time: %le reduce time: %le nanoseconds, " "total time: %le nanoseconds\n",communication_time,reduce_time,time); MPI_Barrier(my_world);