Roll back to 12/04 to correct my accidental checkin of test code.
authorChao Huang <chuang10@uiuc.edu>
Tue, 20 Sep 2005 18:22:09 +0000 (18:22 +0000)
committerChao Huang <chuang10@uiuc.edu>
Tue, 20 Sep 2005 18:22:09 +0000 (18:22 +0000)
examples/ampi/Cjacobi3D/Makefile
examples/ampi/Cjacobi3D/README [deleted file]
examples/ampi/Cjacobi3D/jacobi.C

index 77cb4b53d7a7ef1d5fb03266fa70af07dad65f46..4da123f5e425eab8881f26192807e255af3db750 100644 (file)
@@ -3,23 +3,17 @@ CHARMC=../../../bin/charmc $(OPTS)
 ampi: jacobi
 
 mpi: jacobi.C
 ampi: jacobi
 
 mpi: jacobi.C
-       mpiCC -o jacobi.mpi jacobi.C  $(OPTS)
+       mpiCC -o jacobi jacobi.C  $(OPTS)
 
 jacobi: jacobi.C
        $(CHARMC) -c jacobi.C
        $(CHARMC) -o jacobi jacobi.o -language ampi -module EveryLB
 
 
 jacobi: jacobi.C
        $(CHARMC) -c jacobi.C
        $(CHARMC) -o jacobi jacobi.o -language ampi -module EveryLB
 
-jacobi.iso: jacobi.C
-       $(CHARMC) -c -DNO_PUP jacobi.C
-       -$(CHARMC) -o jacobi.iso jacobi.o -language ampi -module EveryLB
+test: ampi
+       ./charmrun +p3 jacobi 2 2 2 +vp8 +balancer GreedyCommLB
 
 
-test: jacobi jacobi.iso
-       ./charmrun +p3 jacobi 2 2 2 +vp8 +balancer RotateLB
-       -./charmrun +p3 jacobi.iso 2 2 2 +vp8 +balancer RotateLB
-
-bgtest: jacobi  jacobi.iso
-       ./charmrun +p2 jacobi 2 2 2 10 +vp8 +balancer RotateLB +x2 +y2 +z1
-       -./charmrun +p2 jacobi.iso 2 2 2 10 +vp8 +balancer RotateLB +x2 +y2 +z1
+bgtest: jacobi
+       ./charmrun +p2 jacobi 2 2 2 10 +vp8 +balancer GreedyCommLB +x2 +y2 +z1
 
 clean:
        rm -f *.o jacobi *~ moduleinit.C charmrun conv-host
 
 clean:
        rm -f *.o jacobi *~ moduleinit.C charmrun conv-host
diff --git a/examples/ampi/Cjacobi3D/README b/examples/ampi/Cjacobi3D/README
deleted file mode 100644 (file)
index 46c36a1..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-Please note that DIMX, DIMY and DIMZ are for local vp dimensions. 
-Eg, a 240^3 problem can be configured as follows:
-compile w/ DIMX=30 DIMY=30 DIMZ=30 
-run w/ pgm 8 8 8 
index 2c143f00aec69ca5017d7d0cae362852efc28288..42abe0d35dc3dd3a541053b964f27c0da09ee1cd 100644 (file)
@@ -9,11 +9,9 @@ extern void BgPrintf(char *);
 #define BGPRINTF(x)
 #endif
 
 #define BGPRINTF(x)
 #endif
 
-#ifndef DIMX
 #define DIMX 100
 #define DIMY 100
 #define DIMZ 100
 #define DIMX 100
 #define DIMY 100
 #define DIMZ 100
-#endif
 
 int NX, NY, NZ;
 
 
 int NX, NY, NZ;
 
@@ -36,7 +34,7 @@ class chunk {
     double rbzp[DIMX*DIMY];
 };
 
     double rbzp[DIMX*DIMY];
 };
 
-#ifdef AMPI_MIG
+#ifdef AMPI
 void chunk_pup(pup_er p, void *d)
 {
   chunk **cpp = (chunk **) d;
 void chunk_pup(pup_er p, void *d)
 {
   chunk **cpp = (chunk **) d;
@@ -114,34 +112,38 @@ int main(int ac, char** av)
   double error, tval, maxerr, tmpmaxerr, starttime, endtime, itertime;
   chunk *cp;
   int thisIndex, ierr, nblocks;
   double error, tval, maxerr, tmpmaxerr, starttime, endtime, itertime;
   chunk *cp;
   int thisIndex, ierr, nblocks;
-  double *times;
-  double avgtime = 0.0;
-  
+
   MPI_Init(&ac, &av);
   MPI_Comm_rank(MPI_COMM_WORLD, &thisIndex);
   MPI_Comm_size(MPI_COMM_WORLD, &nblocks);
 
   MPI_Init(&ac, &av);
   MPI_Comm_rank(MPI_COMM_WORLD, &thisIndex);
   MPI_Comm_size(MPI_COMM_WORLD, &nblocks);
 
-  if (ac < 2) {
+  if (ac < 4) {
     if (thisIndex == 0)
     if (thisIndex == 0)
-      printf("Usage: jacobi DIM [nIter].\n");
+      printf("Usage: jacobi X Y Z [nIter].\n");
     MPI_Finalize();
   }
     MPI_Finalize();
   }
-  NX = NY = NZ = atoi(av[1]);
+  NX = atoi(av[1]);
+  NY = atoi(av[2]);
+  NZ = atoi(av[3]);
   if (NX*NY*NZ != nblocks) {
     if (thisIndex == 0) 
       printf("%d x %d x %d != %d\n", NX,NY,NZ, nblocks);
     MPI_Finalize();
   }
   if (NX*NY*NZ != nblocks) {
     if (thisIndex == 0) 
       printf("%d x %d x %d != %d\n", NX,NY,NZ, nblocks);
     MPI_Finalize();
   }
-  if (ac == 3)
-    niter = atoi(av[2]);
+  if (ac == 5)
+    niter = atoi(av[4]);
   else
   else
-    niter = 100;
-  times = new double [niter];
+    niter = 20;
+
+/*
+  if(thisIndex == 0)
+    niter = 20;
+*/
 
   MPI_Bcast(&niter, 1, MPI_INT, 0, MPI_COMM_WORLD);
 
   cp = new chunk;
 
   MPI_Bcast(&niter, 1, MPI_INT, 0, MPI_COMM_WORLD);
 
   cp = new chunk;
-#if ! defined(NO_PUP) && defined(AMPI_MIG)
+#ifdef AMPI
   MPI_Register((void*)&cp, (MPI_PupFn) chunk_pup);
 #endif
 
   MPI_Register((void*)&cp, (MPI_PupFn) chunk_pup);
 #endif
 
@@ -211,22 +213,24 @@ int main(int ac, char** av)
             cp->t[k][j][i] = tval;
             if (error > maxerr) maxerr = error;
           }
             cp->t[k][j][i] = tval;
             if (error > maxerr) maxerr = error;
           }
+    MPI_Allreduce(&maxerr, &tmpmaxerr, 1, MPI_DOUBLE, MPI_MAX, 
+                   MPI_COMM_WORLD);
+    maxerr = tmpmaxerr;
     endtime = MPI_Wtime();
     itertime = endtime - starttime;
     double  it;
     MPI_Allreduce(&itertime, &it, 1, MPI_DOUBLE, MPI_SUM,
                    MPI_COMM_WORLD);
     itertime = it/nblocks;
     endtime = MPI_Wtime();
     itertime = endtime - starttime;
     double  it;
     MPI_Allreduce(&itertime, &it, 1, MPI_DOUBLE, MPI_SUM,
                    MPI_COMM_WORLD);
     itertime = it/nblocks;
+    if (thisIndex == 0)
+      printf("iter %d time: %lf maxerr: %lf\n", iter, itertime, maxerr);
     starttime = MPI_Wtime();
     starttime = MPI_Wtime();
+#ifdef AMPI
+    if(iter%20 == 10) {
+      MPI_Migrate();
+    }
+#endif
   }
   }
-
-  for(iter=0;iter<niter;iter++){
-    avgtime += times[iter];
-  }
-  if (thisIndex == 0){
-    printf("Average time %lf\n", avgtime/niter);
-  }
-  delete [] times;
   MPI_Finalize();
   return 0;
 }
   MPI_Finalize();
   return 0;
 }