atomic {
a=global new Array();
}
- a.start((128<<24)|(195<<16)|(175<<8)|71);
+ a.start((128<<24)|(195<<16)|(175<<8)|79);
a.join();
}
MAINCLASS=Array
SRC1=${MAINCLASS}.java
-FLAGS=-dsm -prefetch -optimize -debug -excprefetch Array.Array -mainclass ${MAINCLASS} -trueprob 0.98
-FLAGS2=-dsm -optimize -debug -excprefetch Array.Array -mainclass ${MAINCLASS}
+FLAGS=-dsm -prefetch -dsmcaching -optimize -excprefetch Array.Array -mainclass ${MAINCLASS} -trueprob 0.98
+FLAGS1=-dsm -dsmcaching -optimize -mainclass ${MAINCLASS} -trueprob 0.98
+FLAGS2=-dsm -optimize -mainclass ${MAINCLASS}
default:
- ../../../buildscript ${FLAGS2} -o ${MAINCLASS}NP ${SRC1}
+ ../../../buildscript ${FLAGS2} -o ${MAINCLASS}NPNC ${SRC1}
+ ../../../buildscript ${FLAGS1} -o ${MAINCLASS}NP ${SRC1}
../../../buildscript ${FLAGS} -o ${MAINCLASS}P ${SRC1}
+ cp ${MAINCLASS}NPNC.bin ${MAINCLASS}1NPNC.bin
cp ${MAINCLASS}NP.bin ${MAINCLASS}1NP.bin
cp ${MAINCLASS}P.bin ${MAINCLASS}1.bin
c=global new Chase(fold);
}
- c.start((128<<24)|(195<<16)|(175<<8)|71);
+ c.start((128<<24)|(195<<16)|(175<<8)|79);
c.join();
}
MAINCLASS=Chase
SRC1=${MAINCLASS}.java
-FLAGS=-dsm -prefetch -optimize -debug -excprefetch Chase.main -excprefetch Chase.Chase -mainclass ${MAINCLASS} -trueprob 0.7
-FLAGS2=-dsm -optimize -debug -mainclass ${MAINCLASS} -trueprob 0.7
+FLAGS=-dsm -prefetch -dsmcaching -optimize -excprefetch Chase.main -excprefetch Chase.Chase -mainclass ${MAINCLASS} -trueprob 0.7
+FLAGS1=-dsm -dsmcaching -optimize -mainclass ${MAINCLASS} -trueprob 0.7
+FLAGS2=-dsm -optimize -mainclass ${MAINCLASS} -trueprob 0.7
#for testing no java option
#FLAGS=-dsm -prefetch -optimize -debug -excprefetch Chase.main -excprefetch Chase.Chase -mainclass ${MAINCLASS} -trueprob 0.99 -nojava
default:
- ../../../buildscript ${FLAGS2} -o ${MAINCLASS}NP ${SRC1}
+ ../../../buildscript ${FLAGS2} -o ${MAINCLASS}NPNC ${SRC1}
+ ../../../buildscript ${FLAGS1} -o ${MAINCLASS}NP ${SRC1}
../../../buildscript ${FLAGS} -o ${MAINCLASS}P ${SRC1}
+ cp ${MAINCLASS}NPNC.bin ${MAINCLASS}1NPNC.bin
cp ${MAINCLASS}NP.bin ${MAINCLASS}1NP.bin
cp ${MAINCLASS}P.bin ${MAINCLASS}1.bin
long start0 = System.currentTimeMillis();
int numThreads = em.numThreads;
int[] mid = new int[4];
- mid[0] = (128<<24)|(195<<16)|(175<<8)|79;//dw-1
- mid[1] = (128<<24)|(195<<16)|(175<<8)|73;//dw-2
- mid[2] = (128<<24)|(195<<16)|(175<<8)|78;
- mid[3] = (128<<24)|(195<<16)|(175<<8)|69;
+ mid[0] = (128<<24)|(195<<16)|(175<<8)|79;//dw-8
+ mid[1] = (128<<24)|(195<<16)|(175<<8)|80;//dw-9
+ mid[2] = (128<<24)|(195<<16)|(175<<8)|78;//dw-7
+ mid[3] = (128<<24)|(195<<16)|(175<<8)|73;//dw-5
System.printString("DEBUG -> numThreads = " + numThreads+"\n");
BarrierServer mybarr;
FLAGS=-dsm -prefetch -optimize -excprefetch Em3d.main -excprefetch BiGraph.create -excprefetch Node.Node -excprefetch Node.fillTable -excprefetch Node.makeUniqueNeighbors -excprefetch Node.makeFromNodes -excprefetch Node.updateFromNodes -debug -mainclass ${MAINCLASS} -trueprob 0.91
FLAGS1=-dsm -prefetch -dsmcaching -optimize -excprefetch Node.makeUniqueNeighbors -excprefetch EVector.ensureCapacity -excprefetch EVector.addElement -excprefetch BiGraph.makeFromNodes -excprefetch EVector.elementAt -excprefetch BiGraph.initializeNodes -excprefetch BiGraph.allocateNodes -mainclass ${MAINCLASS} -trueprob 0.91
-FLAGS2=-dsm -dsmcaching -optimize -excprefetch Node.makeUniqueNeighbors -excprefetch EVector.ensureCapacity -excprefetch EVector.addElement -excprefetch BiGraph.makeFromNodes -excprefetch EVector.elementAt -excprefetch BiGraph.initializeNodes -excprefetch BiGraph.allocateNodes -mainclass ${MAINCLASS} -trueprob 0.91
+FLAGS2=-dsm -dsmcaching -optimize -mainclass ${MAINCLASS} -trueprob 0.91
FLAGS3=-dsm -optimize -mainclass ${MAINCLASS}
default:
cp ${MAINCLASS}NPNC.bin ${MAINCLASS}3NPNC.bin
cp ${MAINCLASS}NP.bin ${MAINCLASS}3NP.bin
cp ${MAINCLASS}N.bin ${MAINCLASS}3.bin
- cp ${MAINCLASS}NPNC.bin ${MAINCLASS}3NPNC.bin
- cp ${MAINCLASS}NP.bin ${MAINCLASS}3NP.bin
- cp ${MAINCLASS}N.bin ${MAINCLASS}3.bin
+ cp ${MAINCLASS}NPNC.bin ${MAINCLASS}4NPNC.bin
+ cp ${MAINCLASS}NP.bin ${MAINCLASS}4NP.bin
+ cp ${MAINCLASS}N.bin ${MAINCLASS}4.bin
clean:
rm -rf tmpbuilddirectory
int[] mid = new int[4];
mid[0] = (128<<24)|(195<<16)|(175<<8)|79; //dw-8
- mid[1] = (128<<24)|(195<<16)|(175<<8)|73; //dw-5
+ mid[1] = (128<<24)|(195<<16)|(175<<8)|80; //dw-9
mid[2] = (128<<24)|(195<<16)|(175<<8)|78; //dw-7
- mid[3] = (128<<24)|(195<<16)|(175<<8)|69; //dw-1
+ mid[3] = (128<<24)|(195<<16)|(175<<8)|73; //dw-5
int p, q, r;
MatrixMultiply[] mm;
MatrixMultiply tmp;
int[] mid = new int[4];
mid[0] = (128<<24)|(195<<16)|(175<<8)|79;
- mid[1] = (128<<24)|(195<<16)|(175<<8)|73;
+ mid[1] = (128<<24)|(195<<16)|(175<<8)|80;
mid[2] = (128<<24)|(195<<16)|(175<<8)|78;
- mid[3] = (128<<24)|(195<<16)|(175<<8)|69;
+ mid[3] = (128<<24)|(195<<16)|(175<<8)|73;
int p, q, r;
MatrixMultiply[] mm;
MatrixMultiply tmp;
MAINCLASS=MatrixMultiply
SRC1=${MAINCLASS}N.java
SRC2=${MAINCLASS}Nrun.java
-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}
+FLAGS=-dsm -dsmcaching -prefetch -optimize -excprefetch MatrixMultiply.main -excprefetch MMul.setValues -excprefetch MMul.transpose -mainclass ${MAINCLASS} -trueprob 0.90
+FLAGS1=-dsm -optimize -dsmcaching -mainclass ${MAINCLASS}
+FLAGS2=-dsm -optimize -mainclass ${MAINCLASS}
default:
- ../../../buildscript ${FLAGS2} -o ${MAINCLASS}NNP ${SRC1}
+ ../../../buildscript ${FLAGS2} -o ${MAINCLASS}NPNC ${SRC1}
+ ../../../buildscript ${FLAGS1} -o ${MAINCLASS}NNP ${SRC1}
../../../buildscript ${FLAGS} -o ${MAINCLASS}N ${SRC1}
-# ../../../buildscript ${FLAGS2} -o ${MAINCLASS}NNP ${SRC2}
-# ../../../buildscript ${FLAGS} -o ${MAINCLASS}N ${SRC2}
+ ../../../buildscript ${FLAGS2} -o ${MAINCLASS}NPNC200 ${SRC2}
+ ../../../buildscript ${FLAGS1} -o ${MAINCLASS}NNP200 ${SRC2}
+ ../../../buildscript ${FLAGS} -o ${MAINCLASS}N200 ${SRC2}
+ cp ${MAINCLASS}NPNC.bin ${MAINCLASS}1NPNC.bin
cp ${MAINCLASS}NNP.bin ${MAINCLASS}1NP.bin
cp ${MAINCLASS}N.bin ${MAINCLASS}1.bin
+ cp ${MAINCLASS}NPNC.bin ${MAINCLASS}2NPNC.bin
cp ${MAINCLASS}NNP.bin ${MAINCLASS}2NP.bin
cp ${MAINCLASS}N.bin ${MAINCLASS}2.bin
+ cp ${MAINCLASS}NPNC.bin ${MAINCLASS}3NPNC.bin
cp ${MAINCLASS}NNP.bin ${MAINCLASS}3NP.bin
cp ${MAINCLASS}N.bin ${MAINCLASS}3.bin
+ cp ${MAINCLASS}NPNC.bin ${MAINCLASS}4NPNC.bin
cp ${MAINCLASS}NNP.bin ${MAINCLASS}4NP.bin
cp ${MAINCLASS}N.bin ${MAINCLASS}4.bin
+ cp ${MAINCLASS}NPNC200.bin ../MM200/${MAINCLASS}1NPNC.bin
+ cp ${MAINCLASS}NNP200.bin ../MM200/${MAINCLASS}1NP.bin
+ cp ${MAINCLASS}N200.bin ../MM200/${MAINCLASS}1.bin
+ cp ${MAINCLASS}NPNC200.bin ../MM200/${MAINCLASS}2NPNC.bin
+ cp ${MAINCLASS}NNP200.bin ../MM200/${MAINCLASS}2NP.bin
+ cp ${MAINCLASS}N200.bin ../MM200/${MAINCLASS}2.bin
+ cp ${MAINCLASS}NPNC200.bin ../MM200/${MAINCLASS}3NPNC.bin
+ cp ${MAINCLASS}NNP200.bin ../MM200/${MAINCLASS}3NP.bin
+ cp ${MAINCLASS}N200.bin ../MM200/${MAINCLASS}3.bin
+ cp ${MAINCLASS}NPNC200.bin ../MM200/${MAINCLASS}4NPNC.bin
+ cp ${MAINCLASS}NNP200.bin ../MM200/${MAINCLASS}4NP.bin
+ cp ${MAINCLASS}N200.bin ../MM200/${MAINCLASS}4.bin
clean:
rm -rf tmpbuilddirectory
datasizes[0] = 1000;
datasizes[1] = 1500;
datasizes[2] = 2000;
- datasizes[3] = 4000;
+ datasizes[3] = 8000;
JACOBI_NUM_ITER = 100;
RANDOM_SEED = 10101010;
Gtotal = 0.0;
BarrierServer mybarr;
int[] mid = new int[4];
- mid[0] = (128<<24)|(195<<16)|(175<<8)|79;
- 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;
+ mid[0] = (128<<24)|(195<<16)|(175<<8)|79;//dw-8
+ mid[1] = (128<<24)|(195<<16)|(175<<8)|80;//dw-9
+ mid[2] = (128<<24)|(195<<16)|(175<<8)|78;//dw-7
+ mid[3] = (128<<24)|(195<<16)|(175<<8)|73;//dw-5
double[][] G;
int num_iterations;
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.73
+FLAGS=-dsm -prefetch -dsmcaching -optimize -excprefetch JGFSORBench.JGFSORBench -excprefetch JGFSORBenchSizeA.main -excprefetch JGFSORBench.RandomMatrix -excprefetch JGFSORBench.init_sync -excprefetch JGFSORBench.JGFkernel -mainclass ${MAINCLASS} -trueprob 0.73
+FLAGS1=-dsm -dsmcaching -optimize -mainclass ${MAINCLASS}
FLAGS2=-dsm -optimize -mainclass ${MAINCLASS}
default:
- ../../../../buildscript ${FLAGS2} -o ${MAINCLASS}NP ${SRC}
+ ../../../../buildscript ${FLAGS2} -o ${MAINCLASS}NPNC ${SRC}
+ ../../../../buildscript ${FLAGS1} -o ${MAINCLASS}NP ${SRC}
../../../../buildscript ${FLAGS} -o ${MAINCLASS}P ${SRC}
+ cp ${MAINCLASS}NPNC.bin ${MAINCLASS}1NPNC.bin
cp ${MAINCLASS}NP.bin ${MAINCLASS}1NP.bin
cp ${MAINCLASS}P.bin ${MAINCLASS}1.bin
+ cp ${MAINCLASS}NPNC.bin ${MAINCLASS}2NPNC.bin
cp ${MAINCLASS}NP.bin ${MAINCLASS}2NP.bin
cp ${MAINCLASS}P.bin ${MAINCLASS}2.bin
+ cp ${MAINCLASS}NPNC.bin ${MAINCLASS}3NPNC.bin
cp ${MAINCLASS}NP.bin ${MAINCLASS}3NP.bin
cp ${MAINCLASS}P.bin ${MAINCLASS}3.bin
+ cp ${MAINCLASS}NPNC.bin ${MAINCLASS}4NPNC.bin
cp ${MAINCLASS}NP.bin ${MAINCLASS}4NP.bin
cp ${MAINCLASS}P.bin ${MAINCLASS}4.bin
JGFSORBenchSizeD:SOR/dsm:1:2:3:4:sorverD
JGFMolDynBenchSizeA:Moldyn/dsm:1:2:3:4:moldynverA
JGFLUFactBenchSizeA:LUFact/dsm:1:2:3:4:lufactverA
-MatrixMultiply:MatrixMultiply:1 200 30:2 200 30:3 200 30:4 200 30:mmver200
+MatrixMultiply:MM200:1 200 30:2 200 30:3 200 30:4 200 30:mmver200
MatrixMultiply:MatrixMultiply:1 600:2 600:3 600:4 600:mmver600
Em3d:Em3d/dsm:-T 1 -N 4000 -d 130 -p -i 3:-T 2 -N 4000 -d 130 -p -i 3:-T 3 -N 4000 -d 130 -p -i 3:-T 4 -N 4000 -d 130 -p -i 3:em3dver40001303
Em3d:Em3d/dsm:-T 1 -N 4000 -d 130 -p -i 100000:-T 2 -N 4000 -d 130 -p -i 100000:-T 3 -N 4000 -d 130 -p -i 100000:-T 4 -N 4000 -d 130 -p -i 100000:em3dver4000130100000
#!/bin/sh
+#set -x
MACHINES2='dw-9.eecs.uci.edu'
-MACHINES3='dw-9.eecs.uci.edu dw-5.eecs.uci.edu'
-MACHINES4='dw-9.eecs.uci.edu dw-5.eecs.uci.edu dw-7.eecs.uci.edu'
+MACHINES3='dw-9.eecs.uci.edu dw-7.eecs.uci.edu'
+MACHINES4='dw-9.eecs.uci.edu dw-7.eecs.uci.edu dw-5.eecs.uci.edu'
LOGDIR=/home/adash/research/Robust/src/Benchmarks/Prefetch/runlog
TOPDIR=`pwd`
ssh ${machine} 'cd `cat ~/.tmpdir`; source ~/.tmpvars; ./$bin' &
echo ""
done
- sleep 5
+ sleep 2
/usr/bin/time -f "%e" ./$3 master $arg 2>> ${LOGDIR}/${3}_${EXTENSION}.txt
echo "Terminating ... "
for machine in `echo $MACHINES`
sleep 4
i=`expr $i + 1`
done
+ i=0;
+ while [ $i -lt $1 ]; do
+ /usr/bin/time -f "%e" ./${NONPREFETCH_NONCACHE} master $ARGS1 2>> ${LOGDIR}/${NONPREFETCH_NONCACHE}_local_${EXTENSION}.txt
+ sleep 4
+ i=`expr $i + 1`
+ done
}
function callrun {
PREFETCH=${BENCHMARK}1.bin
NONPREFETCH=${BENCHMARK}1NP.bin
+ NONPREFETCH_NONCACHE=${BENCHMARK}1NPNC.bin
PREFETCH2=${BENCHMARK}2.bin
NONPREFETCH2=${BENCHMARK}2NP.bin
+ NONPREFETCH_NONCACHE2=${BENCHMARK}2NPNC.bin
PREFETCH3=${BENCHMARK}3.bin
NONPREFETCH3=${BENCHMARK}3NP.bin
+ NONPREFETCH_NONCACHE3=${BENCHMARK}3NPNC.bin
PREFETCH4=${BENCHMARK}4.bin
NONPREFETCH4=${BENCHMARK}4NP.bin
+ NONPREFETCH_NONCACHE4=${BENCHMARK}4NPNC.bin
cd $BMDIR
echo "---------- Running local $BMDIR non-prefetch on 1 machine ---------- "
- localrun 10
+ localrun 3
+ echo "---------- Running single thread remote $BMDIR non-prefetch + non-cache on 2 machines ---------- "
+ oneremote 3 1 $NONPREFETCH_NONCACHE
echo "---------- Running single thread remote $BMDIR non-prefetch on 2 machines ---------- "
- oneremote 10 1 $NONPREFETCH
+ oneremote 3 1 $NONPREFETCH
echo "---------- Running single thread remote $BMDIR prefetch on 2 machines ---------- "
- oneremote 10 1 $PREFETCH
+ oneremote 3 1 $PREFETCH
+ echo "---------- Running two threads $BMDIR non-prefetch + non-cache on 2 machines ---------- "
+ run 3 2 $NONPREFETCH_NONCACHE2
echo "---------- Running two threads $BMDIR non-prefetch on 2 machines ---------- "
- run 10 2 $NONPREFETCH2
+ run 3 2 $NONPREFETCH2
echo "---------- Running two threads $BMDIR prefetch on 2 machines ---------- "
- run 10 2 $PREFETCH2
+ run 3 2 $PREFETCH2
+ echo "---------- Running three threads $BMDIR non-prefetch + non-cache on 3 machines ---------- "
+ run 3 3 $NONPREFETCH_NONCACHE3
echo "---------- Running three threads $BMDIR non-prefetch on 3 machines ---------- "
- run 10 3 $NONPREFETCH3
+ run 3 3 $NONPREFETCH3
echo "---------- Running three threads $BMDIR prefetch on 3 machines ---------- "
- run 10 3 $PREFETCH3
+ run 3 3 $PREFETCH3
+ echo "---------- Running four threads $BMDIR non-prefetch + non-cache on 4 machines ---------- "
+ run 3 4 $NONPREFETCH_NONCACHE4
echo "---------- Running four threads $BMDIR non-prefetch on 4 machines ---------- "
- run 10 4 $NONPREFETCH4
+ run 3 4 $NONPREFETCH4
echo "---------- Running four threads $BMDIR prefetch on 4 machines ---------- "
- run 10 4 $PREFETCH4
+ run 3 4 $PREFETCH4
cd $TOPDIR
}
function callmicrorun {
PREFETCH=${BENCHMARK}1.bin
NONPREFETCH=${BENCHMARK}1NP.bin
+ NONPREFETCH_NONCACHE=${BENCHMARK}1NPNC.bin
cd $BMDIR
echo "---------- Running local $BMDIR non-prefetch on 1 machine ---------- "
- localrun 10
+# localrun 10
+ echo "---------- Running single thread remote $BMDIR non-prefetch + non-cache on 2 machines ---------- "
+ oneremote 10 1 $NONPREFETCH_NONCACHE
echo "---------- Running single thread remote $BMDIR non-prefetch on 2 machines ---------- "
oneremote 10 1 $NONPREFETCH
echo "---------- Running single thread remote $BMDIR prefetch on 2 machines ---------- "
cd $TOPDIR
}
-benchmarks='array chase mmver200 mmver600 em3dver40001303 sorverA'
+benchmarks='array chase mmver200 mmver600'
+#benchmarks='em3dver40001303 sorverD'
echo "---------- Clean old files ---------- "
rm runlog/*