Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
some cleaning in the NAS examples
[simgrid.git] / examples / smpi / NAS / EP / ep.c
index 9c18da4..5cf9d5f 100644 (file)
@@ -6,6 +6,8 @@
 #include "mpi.h"
 #include "npbparams.h"
 
+#include "simgrid/instr.h" //TRACE_
+
 #include "randlc.h"
 
 #ifndef CLASS
       double *x = (double *) malloc (2*nk*sizeof(double));
       double *q = (double *) malloc (nq*sizeof(double));
 
+      TRACE_smpi_set_category ("start");
+
       MPI_Init( &argc, &argv );
       MPI_Comm_size( MPI_COMM_WORLD, &no_nodes);
       MPI_Comm_rank( MPI_COMM_WORLD, &node);
     */
         MPI_Barrier( MPI_COMM_WORLD );
 
+        TRACE_smpi_set_category ("ep");
+
         timer_clear(&(elapsed[1]));
         timer_clear(&(elapsed[2]));
         timer_clear(&(elapsed[3]));
     timer_stop(2,elapsed,start);
       }
 
+    TRACE_smpi_set_category ("finalize");
+
       //int MPI_Allreduce(void *sbuf, void *rbuf, int count, MPI_Datatype dtype, MPI_Op op, MPI_Comm comm)   
   MPI_Allreduce(&sx, x, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD);
   sx = x[0]; //FIXME :  x[0] or x[1] => x[0] because fortran starts with 1
     fprintf(stdout,"CPU Time=%d\n",tm);
     fprintf(stdout,"N = 2^%d\n",m);
     fprintf(stdout,"No. Gaussain Pairs =%d\n",gc);
-    fprintf(stdout,"Sum = %lf %ld\n",sx,sy);
+    fprintf(stdout,"Sum = %f %ld\n",sx,sy);
     fprintf(stdout,"Count:");
     for(i = 0; i < nq; i++) {
       fprintf(stdout,"%d\t %ld\n",i,q[i]);
             fprintf(stdout,"Class           = %s\n", _class);
     fprintf(stdout,"Size            = %s\n", size);
     fprintf(stdout,"Iteration       = %d\n", nit);
-    fprintf(stdout,"Time in seconds = %lf\n",(tm/1000));
+    fprintf(stdout,"Time in seconds = %f\n",(tm/1000));
     fprintf(stdout,"Total processes = %d\n",no_nodes);
-    fprintf(stdout,"Mops/s total    = %lf\n",Mops);
-    fprintf(stdout,"Mops/s/process  = %lf\n", Mops/no_nodes);
+    fprintf(stdout,"Mops/s total    = %f\n",Mops);
+    fprintf(stdout,"Mops/s/process  = %f\n", Mops/no_nodes);
     fprintf(stdout,"Operation type  = Random number generated\n");
     if(verified) {
       fprintf(stdout,"Verification    = SUCCESSFUL\n");
     } else {
       fprintf(stdout,"Verification    = UNSUCCESSFUL\n");
     }
-             fprintf(stdout,"Total time:     %lf\n",(timer_read(1,elapsed)/1000));
-             fprintf(stdout,"Gaussian pairs: %lf\n",(timer_read(2,elapsed)/1000));
-             fprintf(stdout,"Random numbers: %lf\n",(timer_read(3,elapsed)/1000));
+             fprintf(stdout,"Total time:     %f\n",(timer_read(1,elapsed)/1000));
+             fprintf(stdout,"Gaussian pairs: %f\n",(timer_read(2,elapsed)/1000));
+             fprintf(stdout,"Random numbers: %f\n",(timer_read(3,elapsed)/1000));
          }
 #ifdef USE_MPE
     MPE_Finish_log(argv[0]);