From: bdemsky <bdemsky>
Date: Wed, 16 Apr 2008 22:28:10 +0000 (+0000)
Subject: code changes
X-Git-Tag: preEdgeChange~151
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a601be7baa2234828243e207380c05bc60692172;p=IRC.git

code changes
---

diff --git a/Robust/src/Benchmarks/Prefetch/Em3d/dsm/Em3d.java b/Robust/src/Benchmarks/Prefetch/Em3d/dsm/Em3d.java
index a5775672..e4c2898a 100644
--- a/Robust/src/Benchmarks/Prefetch/Em3d/dsm/Em3d.java
+++ b/Robust/src/Benchmarks/Prefetch/Em3d/dsm/Em3d.java
@@ -60,51 +60,54 @@ public class Em3d extends Thread
 
   public void run() {
     int iteration;
+    Barrier barr;
+    Node enodebase;
+    Node hnodebase;
 
     atomic {
       iteration = numIter;
+      barr=mybarr;
+    }
+    atomic {
+	enodebase=bg.eNodes;
+	hnodebase=bg.hNodes;
+	for(int j = 0; j<lowerlimit; j++){
+	    enodebase = enodebase.next;
+	    hnodebase = hnodebase.next;
+	}
     }
 
-    System.clearPrefetchCache();
 
     for (int i = 0; i < iteration; i++) {
       /* for  eNodes */
-      atomic {
-        Node prev, curr;
-        prev = bg.eNodes;
-        curr = null;
-        for(int j = 0; j<lowerlimit; j++){
-          curr = prev;
-          prev = prev.next;
-        }
-        for(int j = lowerlimit; j<=upperlimit; j++) {
-          Node n = curr;
-          for (int k = 0; k < n.fromCount; k++) {
-            n.value -= n.coeffs[k] * n.fromNodes[k].value;
-          }
-          curr = curr.next;
-        }
-        Barrier.enterBarrier(mybarr);
-      }
-
-      /* for  hNodes */
-      atomic {
-        Node prev, curr;
-        prev = bg.hNodes;
-        curr = null;
-        for(int j = 0; j<lowerlimit; j++){
-          curr = prev;
-          prev = prev.next;
-        }
-        for(int j = lowerlimit; j<=upperlimit; j++) {
-          Node n = curr;
-          for (int k = 0; k < n.fromCount; k++) {
-            n.value -= n.coeffs[k] * n.fromNodes[k].value;
-          }
-          curr = curr.next;
-        }
-        Barrier.enterBarrier(mybarr);
-      }
+	System.clearPrefetchCache();
+
+	atomic {
+	    Node n = enodebase;
+	    for(int j = lowerlimit; j<=upperlimit; j++) {
+		for (int k = 0; k < n.fromCount; k++) {
+		    n.value -= n.coeffs[k] * n.fromNodes[k].value;
+		}
+		n = n.next;
+	    }
+	}
+	
+	Barrier.enterBarrier(barr);
+	
+	System.clearPrefetchCache();
+	
+	
+	/* for  hNodes */
+	atomic {
+	    Node n = hnodebase;
+	    for(int j = lowerlimit; j<=upperlimit; j++) {
+		for (int k = 0; k < n.fromCount; k++) {
+		    n.value -= n.coeffs[k] * n.fromNodes[k].value;
+		}
+		n=n.next;
+	    }
+	}
+	Barrier.enterBarrier(barr);
     }
   }
 
@@ -114,8 +117,7 @@ public class Em3d extends Thread
    * waves through the graph.
    * @param args the command line arguments
    **/
-  public static void main(String args[])
-  {
+  public static void main(String args[]) {
     Em3d em = new Em3d();
     Em3d.parseCmdLine(args, em);
     if (em.printMsgs) 
@@ -143,9 +145,6 @@ public class Em3d extends Thread
     Em3d[] em3d;
     atomic {
       em3d = global new Em3d[numThreads];
-    }
-
-    atomic {
       em3d[0] = global new Em3d(graph, 1, em.numNodes, em.numIter, mybarr);
     }
 
@@ -169,7 +168,7 @@ public class Em3d extends Thread
     // print current field values
     if (em.printResult) {
       StringBuffer retval = new StringBuffer();
-      double dvalue;;
+      double dvalue;
       atomic {
         dvalue = graph.eNodes.value;
       }