commit latest files
authoradash <adash>
Tue, 12 Aug 2008 21:46:44 +0000 (21:46 +0000)
committeradash <adash>
Tue, 12 Aug 2008 21:46:44 +0000 (21:46 +0000)
Robust/src/Benchmarks/Prefetch/MatrixMultiply/MatrixMultiply.java
Robust/src/Benchmarks/Prefetch/MatrixMultiply/MatrixMultiplyN.java
Robust/src/Benchmarks/Prefetch/MatrixMultiply/MatrixMultiplyNrun.java
Robust/src/Benchmarks/Prefetch/MatrixMultiply/makefile

index e56a6faa60d9bf9e3e154bd47def0a08e327dc2d..3f2d37cd2ca070aef8b6eb86a04972579859968a 100644 (file)
@@ -46,101 +46,92 @@ public class MatrixMultiply extends Thread{
                }
        }
 
-       public static void main(String[] args) {
-<<<<<<< MatrixMultiply.java
-               int mid1 = (128<<24)|(195<<16)|(175<<8)|69;
-               int mid2 = (128<<24)|(195<<16)|(175<<8)|69;
-               int mid3 = (128<<24)|(195<<16)|(175<<8)|71;
-               int NUM_THREADS = 1;
-=======
+    public static void main(String[] args) {
       int NUM_THREADS = 4;
       int[] mid = new int[NUM_THREADS];
       mid[0] = (128<<24)|(195<<16)|(175<<8)|69;
       mid[1] = (128<<24)|(195<<16)|(175<<8)|73;
       mid[2] = (128<<24)|(195<<16)|(175<<8)|78;
       mid[3] = (128<<24)|(195<<16)|(175<<8)|79;
-               //int mid1 = (128<<24)|(195<<16)|(175<<8)|69;
-               //int mid2 = (128<<24)|(195<<16)|(175<<8)|73;
->>>>>>> 1.19
-               int p, q, r;
-               MatrixMultiply[] mm;
-               MatrixMultiply tmp;
-               MMul matrix;
-
-               atomic {
-                       matrix = global new MMul(400, 400, 400);
-                       matrix.setValues();
-                       matrix.transpose();
-               }
-
-               atomic{
-                       mm = global new MatrixMultiply[NUM_THREADS];
-               }
-
-               atomic {
-                       mm[0] = global new MatrixMultiply(matrix,0,0,200,200);
-                       mm[1] = global new MatrixMultiply(matrix,0,201,200,399);
-                       mm[2] = global new MatrixMultiply(matrix,201,0,399,200);
-                       mm[3] = global new MatrixMultiply(matrix,201,201,399,399);
-               }
-
-               atomic {
-                       p = matrix.L;
-                       q = matrix.M;
-                       r = matrix.N;
-               }
-
-               // print out the matrices to be multiplied
-               System.printString("\n");
-               System.printString("MatrixMultiply: L=");
-               System.printInt(p);
-               System.printString("\t");
-               System.printString("M=");
-               System.printInt(q);
-               System.printString("\t");
-               System.printString("N=");
-               System.printInt(r);
-               System.printString("\n");
-
-               // start a thread to compute each c[l,n]
-               for (int i = 0; i < NUM_THREADS; i++) {
-                       atomic {
-                               tmp = mm[i];
-                       }
-                       tmp.start(mid[i]);
-               }
-
-               // wait for them to finish
-               for (int i = 0; i < NUM_THREADS; i++) {
-                       atomic {
-                               tmp = mm[i];
-                       }
-                       tmp.join();
-               }
-
-               // print out the result of the matrix multiply
-               System.printString("Starting\n");
-               System.printString("Matrix Product c =\n");
-               double val;
-               atomic {
-                       for (int i = 0; i < p; i++) {
-                               double c[]=matrix.c[i];
-                               for (int j = 0; j < r; j++) {
-                                       val = c[j];
-                               }
-                       }
-               }
-               System.printString("Finished\n");
-       }
+      int p, q, r;
+      MatrixMultiply[] mm;
+      MatrixMultiply tmp;
+      MMul matrix;
+
+      atomic {
+        matrix = global new MMul(400, 400, 400);
+        matrix.setValues();
+        matrix.transpose();
+      }
+
+      atomic{
+        mm = global new MatrixMultiply[NUM_THREADS];
+      }
+
+      atomic {
+        mm[0] = global new MatrixMultiply(matrix,0,0,200,200);
+        mm[1] = global new MatrixMultiply(matrix,0,201,200,399);
+        mm[2] = global new MatrixMultiply(matrix,201,0,399,200);
+        mm[3] = global new MatrixMultiply(matrix,201,201,399,399);
+      }
+
+      atomic {
+        p = matrix.L;
+        q = matrix.M;
+        r = matrix.N;
+      }
+
+      // print out the matrices to be multiplied
+      System.printString("\n");
+      System.printString("MatrixMultiply: L=");
+      System.printInt(p);
+      System.printString("\t");
+      System.printString("M=");
+      System.printInt(q);
+      System.printString("\t");
+      System.printString("N=");
+      System.printInt(r);
+      System.printString("\n");
+
+      // start a thread to compute each c[l,n]
+      for (int i = 0; i < NUM_THREADS; i++) {
+        atomic {
+          tmp = mm[i];
+        }
+        tmp.start(mid[i]);
+      }
+
+      // wait for them to finish
+      for (int i = 0; i < NUM_THREADS; i++) {
+        atomic {
+          tmp = mm[i];
+        }
+        tmp.join();
+      }
+
+      // print out the result of the matrix multiply
+      System.printString("Starting\n");
+      System.printString("Matrix Product c =\n");
+      double val;
+      atomic {
+        for (int i = 0; i < p; i++) {
+          double c[]=matrix.c[i];
+          for (int j = 0; j < r; j++) {
+            val = c[j];
+          }
+        }
+      }
+      System.printString("Finished\n");
+    }
 }
 
 public class MMul{
 
-       public int L, M, N;
-       public double[][] a;
-       public double[][] b;
-       public double[][] c;
-       public double[][] btranspose;
+  public int L, M, N;
+  public double[][] a;
+  public double[][] b;
+  public double[][] c;
+  public double[][] btranspose;
 
        public MMul(int L, int M, int N) {
                this.L = L;
index 93a003165d25a7fdf8fde3303a3f96334b94b35b..fdb02c40b6b2a76e4cf40e7797ef368e5d231a62 100644 (file)
@@ -1,7 +1,6 @@
 public class MatrixMultiply extends Thread{
     MMul mmul;
     public int x0, y0, x1, y1;
-    
     public MatrixMultiply(MMul mmul, int x0, int x1, int y0, int y1) {
        this.mmul = mmul;
        this.x0 = x0;
@@ -43,10 +42,10 @@ public class MatrixMultiply extends Thread{
        }
        
        int[] mid = new int[4];
-       mid[0] = (128<<24)|(195<<16)|(175<<8)|69;
-       mid[1] = (128<<24)|(195<<16)|(175<<8)|70;
-       mid[2] = (128<<24)|(195<<16)|(175<<8)|71;
-       mid[3] = (128<<24)|(195<<16)|(175<<8)|79;
+       mid[0] = (128<<24)|(195<<16)|(175<<8)|79; //dw-8
+       mid[1] = (128<<24)|(195<<16)|(175<<8)|73; //dw-5
+       mid[2] = (128<<24)|(195<<16)|(175<<8)|78; //dw-7
+       mid[3] = (128<<24)|(195<<16)|(175<<8)|69; //dw-1
        int p, q, r;
        MatrixMultiply[] mm;
        MatrixMultiply tmp;
@@ -90,6 +89,7 @@ public class MatrixMultiply extends Thread{
            }
            tmp.start(mid[i]);
        }
+
        
        // wait for them to finish
        for (int i = 0; i < NUM_THREADS; i++) {
index 28c2804408bbce742d98a71eb8efa7405decf250..5f487204da2c1665f325d158b7fd2c6e3798bf9a 100644 (file)
@@ -53,9 +53,9 @@ public class MatrixMultiply extends Thread{
        
        int[] mid = new int[4];
        mid[0] = (128<<24)|(195<<16)|(175<<8)|79;
-       mid[1] = (128<<24)|(195<<16)|(175<<8)|80;
-       mid[2] = (128<<24)|(195<<16)|(175<<8)|69;
-       mid[3] = (128<<24)|(195<<16)|(175<<8)|70;
+       mid[1] = (128<<24)|(195<<16)|(175<<8)|73;
+       mid[2] = (128<<24)|(195<<16)|(175<<8)|78;
+       mid[3] = (128<<24)|(195<<16)|(175<<8)|69;
        int p, q, r;
        MatrixMultiply[] mm;
        MatrixMultiply tmp;
index b73534f070b0c57ae3c4eeef23fce656a60d01da..8dfc9c6c3aa00904d3f2357f6db6b5f860dbbc48 100644 (file)
@@ -1,20 +1,22 @@
 MAINCLASS=MatrixMultiply
 SRC1=${MAINCLASS}N.java
 SRC2=${MAINCLASS}Nrun.java
-FLAGS=-dsm -prefetch -optimize -debug -excprefetch MatrixMultiply.main -excprefetch MMul.setValues -excprefetch MMul.transpose -mainclass ${MAINCLASS} -trueprob 0.90
-FLAGS2=-dsm -optimize -debug -excprefetch MatrixMultiply.main -excprefetch MMul.setValues -excprefetch MMul.transpose -mainclass ${MAINCLASS}
+FLAGS=-dsm -prefetch -optimize -excprefetch MatrixMultiply.main -excprefetch MMul.setValues -excprefetch MMul.transpose -mainclass ${MAINCLASS} -trueprob 0.90
+FLAGS2=-dsm -optimize -excprefetch MatrixMultiply.main -excprefetch MMul.setValues -excprefetch MMul.transpose -mainclass ${MAINCLASS}
 default:
        ../../../buildscript ${FLAGS2} -o ${MAINCLASS}NNP ${SRC1}
        ../../../buildscript ${FLAGS} -o ${MAINCLASS}N ${SRC1}
-       ../../../buildscript ${FLAGS2} -o ${MAINCLASS}1NP ${SRC2}
-       ../../../buildscript ${FLAGS} -o ${MAINCLASS}1 ${SRC2}
-       cp ${MAINCLASS}1NP.bin ${MAINCLASS}2NP.bin
-       cp ${MAINCLASS}1.bin ${MAINCLASS}2.bin
-       cp ${MAINCLASS}1NP.bin ${MAINCLASS}3NP.bin
-       cp ${MAINCLASS}1.bin ${MAINCLASS}3.bin
-       cp ${MAINCLASS}1NP.bin ${MAINCLASS}4NP.bin
-       cp ${MAINCLASS}1.bin ${MAINCLASS}4.bin
+#      ../../../buildscript ${FLAGS2} -o ${MAINCLASS}NNP ${SRC2}
+#      ../../../buildscript ${FLAGS} -o ${MAINCLASS}N ${SRC2}
+       cp ${MAINCLASS}NNP.bin ${MAINCLASS}1NP.bin
+       cp ${MAINCLASS}N.bin ${MAINCLASS}1.bin
+       cp ${MAINCLASS}NNP.bin ${MAINCLASS}2NP.bin
+       cp ${MAINCLASS}N.bin ${MAINCLASS}2.bin
+       cp ${MAINCLASS}NNP.bin ${MAINCLASS}3NP.bin
+       cp ${MAINCLASS}N.bin ${MAINCLASS}3.bin
+       cp ${MAINCLASS}NNP.bin ${MAINCLASS}4NP.bin
+       cp ${MAINCLASS}N.bin ${MAINCLASS}4.bin
 
 clean:
-       rm *.bin
        rm -rf tmpbuilddirectory
+       rm *.bin