start of new file
[IRC.git] / Robust / src / Benchmarks / Prefetch / MatrixMultiply / MatrixMultiplyN.java
index 7543a3326f289fb0f5184054e09997914c72b200..93a003165d25a7fdf8fde3303a3f96334b94b35b 100644 (file)
@@ -12,14 +12,18 @@ public class MatrixMultiply extends Thread{
     
     public void run() {
        atomic {
+           double la[][]=mmul.a;
+           double lc[][]=mmul.c;
+           double lb[][]=mmul.btranspose;
+           int M=mmul.M;
+           
            //Use btranspose for cache performance
-           for(int i = x0; i<= x1; i++){
-               double a[]=mmul.a[i];
-               double c[]=mmul.c[i];
-               int M=mmul.M;
-               for (int j = y0; j <= y1; j++) {
+           for(int i = x0; i< x1; i++){
+               double a[]=la[i];
+               double c[]=lc[i];
+               for (int j = y0; j < y1; j++) {
                    double innerProduct=0;
-                   double b[] = mmul.btranspose[j];
+                   double b[] = lb[j];
                    for(int k = 0; k < M; k++) {
                        innerProduct += a[k] *b[k];
                    }
@@ -39,9 +43,9 @@ public class MatrixMultiply extends Thread{
        }
        
        int[] mid = new int[4];
-       mid[0] = (128<<24)|(195<<16)|(175<<8)|80;
-       mid[1] = (128<<24)|(195<<16)|(175<<8)|73;
-       mid[2] = (128<<24)|(195<<16)|(175<<8)|78;
+       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;
        int p, q, r;
        MatrixMultiply[] mm;
@@ -57,9 +61,9 @@ public class MatrixMultiply extends Thread{
            int base=0;
            for(int i=0;i<NUM_THREADS;i++) {
                if ((i+1)==NUM_THREADS)
-                   mm[i]=global new MatrixMultiply(matrix,base, SIZE-1, 0, SIZE-1);
+                   mm[i]=global new MatrixMultiply(matrix,base, SIZE, 0, SIZE);
                else
-                   mm[i]=global new MatrixMultiply(matrix,base, base+increment, 0, SIZE-1);
+                   mm[i]=global new MatrixMultiply(matrix,base, base+increment, 0, SIZE);
                base+=increment;
            }
            p = matrix.L;