public JGFSORBench(int nthreads){
this.nthreads = nthreads;
- datasizes = global new int[3];
+ datasizes = global new int[4];
datasizes[0] = 1000;
datasizes[1] = 1500;
datasizes[2] = 2000;
+ datasizes[3] = 4000;
JACOBI_NUM_ITER = 100;
RANDOM_SEED = 10101010;
Gtotal = 0.0;
refval[0] = 0.498574406322512;
refval[1] = 1.1234778980135105;
refval[2] = 1.9954895063582696;
+ refval[3] = 2.654895063582696;
double dev = Math.fabs(Gtotal - refval[size]);
long l = (long) refval[size] * 1000000;
long r = (long) Gtotal * 1000000;
sor.JGFsetsize(size);
}
JGFSORBench.JGFkernel(sor);
- System.printString("End of JGFkernel\n");
int retval;
atomic {
retval = sor.JGFvalidate();
JGFInstrumentor.addOpsToTimer("Section2:SOR:Kernel", (double) jacobi, instr.timers);
JGFInstrumentor.printTimer("Section2:SOR:Kernel", instr.timers);
+ System.printString("Finished\n");
}
}
--- /dev/null
+/**************************************************************************
+* *
+* Java Grande Forum Benchmark Suite - Thread Version 1.0 *
+* *
+* produced by *
+* *
+* Java Grande Benchmarking Project *
+* *
+* at *
+* *
+* Edinburgh Parallel Computing Centre *
+* *
+* email: epcc-javagrande@epcc.ed.ac.uk *
+* *
+* *
+* This version copyright (c) The University of Edinburgh, 2001. *
+* All rights reserved. *
+* *
+**************************************************************************/
+
+public class JGFSORBenchSizeD{
+
+ public static void main(String argv[]){
+
+ int nthreads;
+ if(argv.length != 0 ) {
+ nthreads = Integer.parseInt(argv[0]);
+ } else {
+ System.printString("The no of threads has not been specified, defaulting to 1\n");
+ System.printString(" \n");
+ nthreads = 1;
+ }
+
+ JGFSORBench sor;
+ atomic {
+ sor = global new JGFSORBench(nthreads);
+ }
+
+ int size = 3;
+
+ atomic {
+ sor.JGFsetsize(size);
+ }
+ JGFSORBench.JGFkernel(sor);
+ int retval = 0;
+ /*
+ atomic {
+ retval = sor.JGFvalidate();
+ }
+ */
+ if(retval!=0) {
+ System.printString("Validation failed\n");
+ }
+
+ int jacobi;
+ atomic {
+ jacobi = sor.JACOBI_NUM_ITER;
+ }
+ System.printString("Finished\n");
+ }
+}
G[i]=global new double[N];
}
}
-
Barrier.enterBarrier(barr);
+
atomic {
Random rand=new Random();
double[] R = G[0];
-MAINCLASS=JGFSORBenchSizeA
+#MAINCLASS=JGFSORBenchSizeA
+#MAINCLASS=JGFSORBenchSizeC
+MAINCLASS=JGFSORBenchSizeD
SRC=${MAINCLASS}.java \
JGFSORBench.java \
JGFInstrumentor.java \
JGFTimer.java \
SORRunner.java \
SORWrap.java
-FLAGS=-dsm -prefetch -optimize -excprefetch JGFSORBench.JGFSORBench -excprefetch JGFSORBenchSizeA.main -excprefetch JGFSORBench.RandomMatrix -excprefetch JGFSORBench.init_sync -excprefetch JGFSORBench.JGFkernel -mainclass ${MAINCLASS} -trueprob 0.88
+FLAGS=-dsm -prefetch -optimize -excprefetch JGFSORBench.JGFSORBench -excprefetch JGFSORBenchSizeA.main -excprefetch JGFSORBench.RandomMatrix -excprefetch JGFSORBench.init_sync -excprefetch JGFSORBench.JGFkernel -mainclass ${MAINCLASS} -trueprob 0.73
FLAGS2=-dsm -optimize -mainclass ${MAINCLASS}
default: