Add array microbenchmark
authorbdemsky <bdemsky>
Mon, 5 May 2008 04:42:30 +0000 (04:42 +0000)
committerbdemsky <bdemsky>
Mon, 5 May 2008 04:42:30 +0000 (04:42 +0000)
Robust/src/Benchmarks/Prefetch/Array/Array.java [new file with mode: 0644]
Robust/src/Benchmarks/Prefetch/Array/makefile [new file with mode: 0644]

diff --git a/Robust/src/Benchmarks/Prefetch/Array/Array.java b/Robust/src/Benchmarks/Prefetch/Array/Array.java
new file mode 100644 (file)
index 0000000..9d9e262
--- /dev/null
@@ -0,0 +1,37 @@
+public class Array extends Thread {
+    int [][] array;
+
+    public Array() {
+       int xmax=10000;
+       int ymax=10;
+       array=global new int[xmax][ymax];
+       for(int i=0;i<xmax;i++) {
+           for(int j=0;j<ymax;j++) {
+               array[i][j]=i*j;
+           }
+       }
+    }
+    
+    public static void main(String [] argv) {
+       Array a;
+       atomic {
+           a=global new Array();
+       }
+       a.start((128<<24)|(195<<16)|(175<<8)|71);
+       a.join();
+    }
+    
+    public void run() {
+        atomic {
+           int xlength=array.length;
+           int ylength=array[0].length;
+           long sum;
+           for(int i=0;i<xlength;i++) {
+               int a[]=array[i];
+               for(int j=0;j<ylength;j++) {
+                   sum+=a[j];
+               }
+           }
+        }
+    }
+}
diff --git a/Robust/src/Benchmarks/Prefetch/Array/makefile b/Robust/src/Benchmarks/Prefetch/Array/makefile
new file mode 100644 (file)
index 0000000..b1ebcdb
--- /dev/null
@@ -0,0 +1,11 @@
+MAINCLASS=Array
+SRC1=${MAINCLASS}.java
+FLAGS=-dsm -prefetch -optimize -debug -excprefetch Array.Array -mainclass ${MAINCLASS} -trueprob 0.7
+FLAGS2=-dsm -optimize -debug -excprefetch Array.Array -mainclass ${MAINCLASS} -trueprob 0.7
+default:
+       ../../../buildscript ${FLAGS2} -o ${MAINCLASS}NP ${SRC1}
+       ../../../buildscript ${FLAGS} -o ${MAINCLASS}P ${SRC1}
+
+clean:
+       rm *.bin
+       rm -rf tmpbuilddirectory