}
public static void main(String[] args) {
- int mid1 = (128<<24)|(195<<16)|(175<<8)|70;
+ int mid1 = (128<<24)|(195<<16)|(175<<8)|73;
int mid2 = (128<<24)|(195<<16)|(175<<8)|69;
int mid3 = (128<<24)|(195<<16)|(175<<8)|71;
- int NUM_THREADS = 2;
+ int NUM_THREADS = 1;
int i, j, p, q, r;
MatrixMultiply[] mm;
MatrixMultiply tmp;
MMul matrix;
atomic {
- matrix = global new MMul(800, 800, 800);
+ matrix = global new MMul(400, 400, 400);
matrix.setValues();
matrix.transpose();
}
}
atomic {
- mm[0] = global new MatrixMultiply(matrix,0,0,799,300);
- mm[1] = global new MatrixMultiply(matrix,0,301,799,799);
+ mm[0] = global new MatrixMultiply(matrix,0,0,399,399);
}
atomic {
MAINCLASS=MatrixMultiply
SRC=${MAINCLASS}.java
-FLAGS=-dsm -prefetch -nooptimize -debug -mainclass ${MAINCLASS} -o ${MAINCLASS}
+FLAGS=-dsm -prefetch -optimize -profile -debug -mainclass ${MAINCLASS} -o ${MAINCLASS}
default:
../../../buildscript ${FLAGS} ${SRC}
clean:
generateFlatFlagActionNode(fm, lb, (FlatFlagActionNode) fn, output);
return;
case FKind.FlatPrefetchNode:
- generateFlatPrefetchNode(fm,lb, (FlatPrefetchNode) fn, output);
+ if (!state.excprefetch.contains(fm.getMethod().getClassMethodName()))
+ generateFlatPrefetchNode(fm,lb, (FlatPrefetchNode) fn, output);
return;
}
throw new Error();
return thisvd;
}
+ public String getClassMethodName() {
+ return cd+"."+name;
+ }
+
public String getSafeMethodDescriptor() {
String st="";
for(int i=0;i<numParameters();i++) {
this.arraytonumber=new Hashtable();
this.tagmap=new Hashtable();
this.selfloops=new HashSet();
+ this.excprefetch=new HashSet();
}
public void addParseNode(ParseNode parsetree) {
public String main;
public HashSet selfloops;
+ public HashSet excprefetch;
public SymbolTable classes;
public SymbolTable tasks;
public Set parsetrees;
IR.Flat.BuildCode.PREFIX=args[++i]+"/";
else if (option.equals("-selfloop"))
state.selfloops.add(args[++i]);
+ else if (option.equals("-excprefetch"))
+ state.excprefetch.add(args[++i]);
else if (option.equals("-classlibrary"))
ClassLibraryPrefix=args[++i]+"/";
else if (option.equals("-mainclass"))
echo -recover compile task code
echo -specdir directory
echo -selfloop task - this task cannot self loop forever
+echo -excprefetch methoddescriptor - exclude prefetches for this method
echo -taskstate do task state analysis
echo -tagstate do tag state analysis
echo -scheduling do task scheduling
then
JAVAOPTS="$JAVAOPTS -selfloop $2"
shift
+elif [[ $1 = '-excprefetch' ]]
+then
+JAVAOPTS="$JAVAOPTS -excprefetch $2"
+shift
elif [[ $1 = '-dsm' ]]
then
JAVAOPTS="$JAVAOPTS -dsm"