From b4e7fcaa0d8daaefe41f3a8405972789bc3b5580 Mon Sep 17 00:00:00 2001 From: yeom Date: Fri, 24 Feb 2012 22:09:05 +0000 Subject: [PATCH] add a simplifed bh. --- .../oooJava/simplebh/LeafNodeData.java | 7 ++ .../oooJava/simplebh/TestRunner.java | 115 ++++++++++++++++++ .../oooJava/simplebh/TreeDotGen.java | 49 ++++++++ .../oooJava/simplebh/TreeIndexGraph.java | 18 +++ .../oooJava/simplebh/TreeIndexNode.java | 49 ++++++++ .../src/Benchmarks/oooJava/simplebh/makefile | 10 ++ 6 files changed, 248 insertions(+) create mode 100644 Robust/src/Benchmarks/oooJava/simplebh/LeafNodeData.java create mode 100644 Robust/src/Benchmarks/oooJava/simplebh/TestRunner.java create mode 100644 Robust/src/Benchmarks/oooJava/simplebh/TreeDotGen.java create mode 100644 Robust/src/Benchmarks/oooJava/simplebh/TreeIndexGraph.java create mode 100644 Robust/src/Benchmarks/oooJava/simplebh/TreeIndexNode.java create mode 100644 Robust/src/Benchmarks/oooJava/simplebh/makefile diff --git a/Robust/src/Benchmarks/oooJava/simplebh/LeafNodeData.java b/Robust/src/Benchmarks/oooJava/simplebh/LeafNodeData.java new file mode 100644 index 00000000..42e0ec7a --- /dev/null +++ b/Robust/src/Benchmarks/oooJava/simplebh/LeafNodeData.java @@ -0,0 +1,7 @@ +public class LeafNodeData { + + int vel; + int acc; + + +} diff --git a/Robust/src/Benchmarks/oooJava/simplebh/TestRunner.java b/Robust/src/Benchmarks/oooJava/simplebh/TestRunner.java new file mode 100644 index 00000000..10cbdffb --- /dev/null +++ b/Robust/src/Benchmarks/oooJava/simplebh/TestRunner.java @@ -0,0 +1,115 @@ +public class TestRunner { + + public static void main(String args[]) { + + TestRunner r = new TestRunner(); + r.run(); + + } + + public void run() { + + int nBodies = 50; + + Vector leafNodeVector=new Vector(nBodies); + +// // body setup +// for (int i = 0; i < nBodies; i++) { +// leafNodeVector.insertElementAt(new LeafNodeData(), i); +// } + + // tree setup + TreeIndexGraph tree = new TreeIndexGraph(); + TreeIndexNode root = tree.createNode(null); + tree.addNode(root); + + for (int i = 0; i < nBodies; i++) { + LeafNodeData leaf=new LeafNodeData(); + TreeIndexNode treenode = tree.createNode(leaf); + leafNodeVector.insertElementAt(treenode, i); + insert(tree, root,leaf); + } + + for(int i=0; i"+"N"+leftIdx+"\n"); + + //right + int rightIdx= ++idx; + out.write("N"+parentIdx+"->"+"N"+rightIdx+"\n"); + + if(idx<100){ + generateTree(leftIdx,out); + generateTree(rightIdx,out); + } + } + +} \ No newline at end of file diff --git a/Robust/src/Benchmarks/oooJava/simplebh/TreeIndexGraph.java b/Robust/src/Benchmarks/oooJava/simplebh/TreeIndexGraph.java new file mode 100644 index 00000000..10711eeb --- /dev/null +++ b/Robust/src/Benchmarks/oooJava/simplebh/TreeIndexGraph.java @@ -0,0 +1,18 @@ +public class TreeIndexGraph { + + // HashSet nodes; + + public TreeIndexGraph() { + // this.nodes = new HashSet(); + } + + public TreeIndexNode createNode(LeafNodeData data) { + TreeIndexNode treeNode = new TreeIndexNode(data); + return treeNode; + } + + public void addNode(TreeIndexNode treeIndexNode) { + // nodes.add(treeIndexNode); + } + +} diff --git a/Robust/src/Benchmarks/oooJava/simplebh/TreeIndexNode.java b/Robust/src/Benchmarks/oooJava/simplebh/TreeIndexNode.java new file mode 100644 index 00000000..4224068c --- /dev/null +++ b/Robust/src/Benchmarks/oooJava/simplebh/TreeIndexNode.java @@ -0,0 +1,49 @@ +public class TreeIndexNode { + + LeafNodeData data; + TreeIndexNode children[]; + int pos; + int mass; + + // TreeIndexNode left; + // TreeIndexNode right; + + public TreeIndexNode(LeafNodeData data) { + this.data = data; + this.children = new TreeIndexNode[2]; + } + + public void advance() { + pos += data.acc + 10; + data.vel += data.acc + 10; + } + + public void computeForce(TreeIndexNode root) { + data.acc = 0; + recurseForce(root); + data.vel = 10; + } + + private void recurseForce(TreeIndexNode nn) { + + int drPos = nn.pos; + int temp = nn.mass; + + if (nn.data == null) { // nn is cell + + if (nn.children[0] != null) { + recurseForce(nn.children[0]); + } + + if (nn.children[1] != null) { + recurseForce(nn.children[1]); + } + + // } else { // nn is body + if (nn != this) { + data.acc += drPos + nn.mass; + } + } + } + +} diff --git a/Robust/src/Benchmarks/oooJava/simplebh/makefile b/Robust/src/Benchmarks/oooJava/simplebh/makefile new file mode 100644 index 00000000..15b89d57 --- /dev/null +++ b/Robust/src/Benchmarks/oooJava/simplebh/makefile @@ -0,0 +1,10 @@ +PROGRAM=TestRunner + +SOURCE_FILES=TestRunner.java + +NUM_OOO_WORKERS=24 +NUM_RCR_WORKERS=31 + +BMFLAGS= -heapsize-mb 5000 + +include ../master-makefile -- 2.34.1