changes on moldyn.
authoryeom <yeom>
Fri, 8 Oct 2010 21:03:37 +0000 (21:03 +0000)
committeryeom <yeom>
Fri, 8 Oct 2010 21:03:37 +0000 (21:03 +0000)
Robust/src/Benchmarks/oooJava/moldyn/JGFMolDynBench.java
Robust/src/Benchmarks/oooJava/moldyn/allrun [new file with mode: 0755]
Robust/src/Benchmarks/oooJava/moldyn/makefile

index c658abce97555c03fb1c0f08ab892f25f8c85ff9..75cd1d119b7ac9ed7e70863d17c3e0fbe5dfd602 100644 (file)
@@ -86,11 +86,13 @@ public class JGFMolDynBench {
      * boolean waitfordone=true; while(waitfordone) { if (mybarr.done)
      * waitfordone=false; }
      */
-
+    long start=System.currentTimeMillis();
     for (int i = 0; i < numthreads; i++) {
       // thobjects[i].md.start(mid[i]);
       thobjects[i].md.run();
     }
+    long end=System.currentTimeMillis();
+//    System.out.println("Total="+(end-start));
   }
 
   public void JGFvalidate() {
@@ -344,10 +346,14 @@ class mdRunner {
 
     /* MD simulation */
     
+    JGFMolDynBench l_mymd=mymd;
+    
     int numP= (mdsize / workload)+1;
 
     double scratchpad[][][];
     scratchpad=new double[numP][3][mdsize];
+    
+    long par_time=0;
 
     for (int move = 0; move < movemx; move++) {
       /* move the particles and update velocities */
@@ -368,6 +374,11 @@ class mdRunner {
       int lworkload = workload;
       // for (int i=0+id;i<mdsize;i+=numThread) {
       int scratch_idx=0;
+      
+      double l_epot=0.0;
+      double l_vir=0.0;
+      int l_interacts=0;
+      
       for (int i = 0 ; i < mdsize; i += lworkload) {
 
         int ilow = i;
@@ -378,6 +389,7 @@ class mdRunner {
         int l_size = iupper - ilow;
 
         double workingpad[][]=scratchpad[scratch_idx++];
+        long par_start=System.currentTimeMillis();
         sese parallel{
           for(int j=0;j<3;j++){
             for(int l=0;l<mdsize;l++){
@@ -390,6 +402,8 @@ class mdRunner {
             one[idx].force(side, rcoff, mdsize, idx, xx, yy, zz, mymd, store,workingpad);
           }
         }
+        long par_end=System.currentTimeMillis();
+        par_time+=(par_end-par_start);
 
         sese serial{
           for (int k = 0; k < 3; k++) {
@@ -398,13 +412,20 @@ class mdRunner {
               sh_force[k][j] += workingpad[k][j];
             }
           }
-          mymd.epot[0] += store.epot;
-          mymd.vir[0] += store.vir;
-          mymd.interactions += store.interacts;
+          l_epot+=store.epot;
+          l_vir+=store.vir;
+          l_interacts+=store.interacts;
+//          mymd.epot[0] += store.epot;
+//          mymd.vir[0] += store.vir;
+//          mymd.interactions += store.interacts;
         }
 
       }
       
+      mymd.epot[0] =l_epot;
+      mymd.vir[0] = l_vir;
+      mymd.interactions = l_interacts;
+      
       for (int k = 0; k < 3; k++) {
         for (int j = 0; j < mdsize; j++) {
           sh_force[k][j] = sh_force[k][j] * hsq2;
@@ -464,6 +485,7 @@ class mdRunner {
       // if (id == 0) JGFInstrumentor.stopTimer("Section3:MolDyn:Run",
       // instr.timers);
     }
+//    System.out.println("par time="+par_time);
   }
 }
 
diff --git a/Robust/src/Benchmarks/oooJava/moldyn/allrun b/Robust/src/Benchmarks/oooJava/moldyn/allrun
new file mode 100755 (executable)
index 0000000..05c0cd7
--- /dev/null
@@ -0,0 +1,17 @@
+rm parallel.log
+echo ============================================================
+echo Running Parallel Moldyn
+for i in 1 2 3 4 5 6 7 8 9 10
+do
+echo Trial $i
+(time ./JGFMolDynBenchSizeBp.bin 1 150) 2>&1 | cat >> parallel.log
+done
+rm serial.log
+echo ============================================================
+echo Running Serial Moldyn
+for i in 1 2 3 4 5 6 7 8 9 10
+do
+echo Trial $i
+(time ./JGFMolDynBenchSizeBs.bin 1 150) 2>&1 | cat >> serial.log
+done
+
index de3cbce7fea457a3f67b50018bb0504beda3a61c..b2567699016ec9a5d38200148d8abd5f06fa8af4 100644 (file)
@@ -6,7 +6,7 @@ BUILDSCRIPT=../../../buildscript
 
 
 COREPROFOVERFLOW= #-coreprof-checkoverflow
-USECOREPROF= -coreprof $(COREPROFOVERFLOW) \
+USECOREPROF= #-coreprof $(COREPROFOVERFLOW) \
        -coreprof-eventwords 1024*1024*128 \
        -coreprof-enable cpe_main \
        -coreprof-enable cpe_taskdispatch
@@ -22,7 +22,7 @@ USECOREPROF= -coreprof $(COREPROFOVERFLOW) \
 
 
 USEOOO= -ooojava 24 2  -ooodebug -ooodebug-disable-task-mem-pool 
-BSFLAGS= -64bit -mainclass $(PROGRAM)  -heapsize-mb 5024 -garbagestats -joptimize -noloop -optimize #-debug 
+BSFLAGS= -64bit -mainclass $(PROGRAM)  -heapsize-mb 5024 -garbagestats -joptimize -noloop -optimize -debug 
 
 DRELEASEMODE=-disjoint-release-mode -disjoint-alias-file aliases.txt tabbed
 DISJOINT= -disjoint -disjoint-k 1 -enable-assertions $(DRELEASEMODE) #-disjoint-desire-determinism