Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge pull request #181 from bcamus/master
[simgrid.git] / examples / smpi / NAS / ep.c
index 6f36675..24257dc 100644 (file)
@@ -14,7 +14,8 @@ int nprocs;
 
 int main(int argc, char **argv) {
   double dum[3] = {1.,1.,1.};
-  double x1, x2, sx, sy, tm, an, tt, gc;
+  double x1, x2, sx, sy, tm, an, gc;
+  XBT_ATTRIB_UNUSED double tt;
   double Mops;
   double epsilon=1.0E-8, a = 1220703125., s=271828183.;
   double t1, t2, t3, t4;
@@ -23,13 +24,13 @@ int main(int argc, char **argv) {
   int    m;
   int    mk=16;
   int    nk = (int)(pow(2,mk)),
-         nq=10, 
+         nq=10,
          np, node, no_nodes, i, ik, kk, l, k, nit, no_large_nodes, np_add, k_offset;
   int    verified;
   char   size[500]; // mind the size of the string to represent a big number
 
-  double *x = (double *) malloc (2*nk*sizeof(double));
-  double *q = (double *) malloc (nq*sizeof(double));
+  double *x = (double *) SMPI_SHARED_MALLOC (2*nk*sizeof(double));
+  double *q = (double *) SMPI_SHARED_MALLOC (nq*sizeof(double));
 
   MPI_Init( &argc, &argv );
   MPI_Comm_size( MPI_COMM_WORLD, &no_nodes);
@@ -136,7 +137,7 @@ int main(int argc, char **argv) {
     k_offset = no_large_nodes*(np+1) + (node-no_large_nodes)*np -1;
 
   int stop = FALSE;
-  for(k = 1; k <= np; k++) {// SMPI_SAMPLE_LOCAL(0.25 * np, 0.03) {
+  for(k = 1; k <= np; k++) { SMPI_SAMPLE_GLOBAL(0.25 * np, 0.03) {
     stop = FALSE;
     kk = k_offset + k ;
     t1 = s;
@@ -182,7 +183,7 @@ int main(int argc, char **argv) {
       }
     }
     timer_stop(2);
-  }
+    } }
 
   TRACE_smpi_set_category ("finalize");
 
@@ -204,7 +205,7 @@ int main(int argc, char **argv) {
   MPI_Allreduce(&tm, x, 1, MPI_DOUBLE, MPI_MAX, MPI_COMM_WORLD);
   tm = x[0];
 
-  free(x);
+  SMPI_SHARED_FREE(x);
 
   if(node == root) {
     nit = 0;
@@ -256,7 +257,7 @@ int main(int argc, char **argv) {
     fprintf(stdout,"Random numbers: %f\n",(timer_read(3)/1000));
   }
 
-  free(q);
+  SMPI_SHARED_FREE(q);
 
   MPI_Finalize();
   return 0;