iteration = numIter;
}
+ System.clearPrefetchCache();
+
for (int i = 0; i < iteration; i++) {
/* for eNodes */
atomic {
{
Em3d em = new Em3d();
Em3d.parseCmdLine(args, em);
- /*
- atomic {
- em = global new Em3d();
- Em3d.parseCmdLine(args, em);
- }
-
- boolean printMsgs, printResult;
- int numIter;
- atomic {
- printMsgs = em.printMsgs;
- numIter = em.numIter;
- printResult = em.printResult;
- }
- */
if (em.printMsgs)
System.printString("Initializing em3d random graph...");
long start0 = System.currentTimeMillis();
mybarr = global new Barrier(numThreads);
}
BiGraph graph;
- BiGraph graph1;
Random rand = new Random(783);
- // atomic {
- //rand = global new Random(783);
- //}
atomic {
- //graph1 = global new BiGraph();
- graph = global new BiGraph();
graph = BiGraph.create(em.numNodes, em.numDegree, em.printResult, rand);
}
atomic {
em3d[0] = global new Em3d(graph, 1, em.numNodes, em.numIter, mybarr);
- //em3d[0] = global new Em3d(graph, 1, em.numNodes/2, em.numIter, mybarr);
- //em3d[1] = global new Em3d(graph, (em.numNodes/2)+1, em.numNodes, em.numIter, mybarr);
}
int mid = (128<<24)|(195<<16)|(175<<8)|73;
// print current field values
if (em.printResult) {
- // System.printString(graph.eNodes);
StringBuffer retval = new StringBuffer();
- double newtmp;
+ double dvalue;;
atomic {
- newtmp = graph.eNodes.value;
+ dvalue = graph.eNodes.value;
}
- int xtmp = (int)newtmp;
- System.printString("Value = " +xtmp);
- /*
- while(newtmp!=null) {
- Node n = newtmp;
- retval.append("E: " + n + "\n");
- // newtmp = newtmp.next;
- }
- */
- /*
- atomic {
- newtmp = graph.hNodes;
- }
- while(newtmp!=null) {
- Node n = newtmp;
- retval.append("H: " + n + "\n");
- newtmp = newtmp.next;
- }
-
- System.printString(retval.toString());
- */
+ int intvalue = (int)dvalue;
+ System.printString("Value = " + intvalue + "\n");
}
if (em.printMsgs) {
// check for options that require arguments
if (arg.equals("-n")) {
if (i < args.length) {
- // atomic {
em.numNodes = new Integer(args[i++]).intValue();
- // }
}
} else if (arg.equals("-d")) {
if (i < args.length) {
- //atomic {
em.numDegree = new Integer(args[i++]).intValue();
- //}
}
} else if (arg.equals("-i")) {
if (i < args.length) {
- //atomic {
- //em.numIter = global new Integer(args[i++]).intValue();
em.numIter = new Integer(args[i++]).intValue();
- //}
}
} else if (arg.equals("-p")) {
- //atomic {
em.printResult = true;
- //}
} else if (arg.equals("-m")) {
- //atomic {
em.printMsgs = true;
- //}
} else if (arg.equals("-h")) {
em.usage();
}
{
value = r.nextDouble();
// create empty array for holding toNodes
-
toNodes = global new Node[degree];
}
}
}
- /**
- * Get the new value of the current node based on its neighboring
- * from_nodes and coefficients.
- **/
-
- /*
- public void computeNewValue()
- {
- for (int i = 0; i < fromCount; i++) {
- value -= coeffs[i] * fromNodes[i].value;
- }
- }
- */
-
/**
* Override the toString method to return the value of the node.
* @return the value of the node.
{
String returnString;
returnString = "value " + (long)value + ", from_count " + fromCount;
- //return "value " + value + ", from_count " + fromCount;
}
}