large raytracer changes from jin +
authorbdemsky <bdemsky>
Thu, 21 Jul 2011 02:18:10 +0000 (02:18 +0000)
committerbdemsky <bdemsky>
Thu, 21 Jul 2011 02:18:10 +0000 (02:18 +0000)
join hack

Robust/src/Benchmarks/Scheduling/GC/NON_BAMBOO/RayTracer/RayTracer.java
Robust/src/Benchmarks/Scheduling/GC/NON_BAMBOO/RayTracer/TestRunner.p

index 2cb307e8218f0342a2c39d9d53e18c6db2d2a0ed..73b330923e7d4882c3573c85b2040305e1037a21 100644 (file)
@@ -109,9 +109,9 @@ public class RayTracer extends Thread {
     /* create spheres */
 
     Primitive p;
-    int nx = 4; // 6
-    int ny = 4; // 6
-    int nz = 4; // 6
+    int nx = 6; // 4
+    int ny = 6; // 4
+    int nz = 6; // 4
     for (int i = 0; i < nx; i++) {
       for (int j = 0; j < ny; j++) {
         for (int k = 0; k < nz; k++) {
@@ -233,7 +233,7 @@ public class RayTracer extends Thread {
         row[x]= alpha | (red << 16) | (green << 8) | (blue);
       } // end for (x)
 
-      image[y-interval.yfrom]=row;
+      image[y]=row;
     } // end for (y)
 
 
index cad0d920c92b7307a4eaf68898e5dbe5a28368a2..6224535f18cced01a4952df11091b25c65893506 100644 (file)
@@ -15,12 +15,13 @@ public class TestRunner extends RayTracer {
   public TestRunner(int id, 
       int numCore,
       int size,
+      int image[][],                                   
       Scene scene) {
     super();
     this.id = id;
     this.numCore = numCore;
     this.size = size;
-
+    this.image=image;
     // create the objects to be rendered
     this.scene = scene; //createScene();
 
@@ -40,7 +41,7 @@ public class TestRunner extends RayTracer {
   }
 
   public void init() {
-    this.image=new int[this.size/this.numCore][];
+
   }
 
   public void JGFvalidate() {
@@ -84,9 +85,17 @@ public class TestRunner extends RayTracer {
     Composer comp = new Composer(threadnum, size);
     RayTracer rt = new RayTracer();
     Scene scene = rt.createScene();
-    for(int i = 0; i < threadnum; ++i) {
-      TestRunner tr = new TestRunner(i, threadnum, size, scene);
+    int image[][]=new int[size][];
+    TestRunner trarray[]=new TestRunner[threadnum];                                     
+    for(int i = 1; i < threadnum; ++i) {
+      TestRunner tr = new TestRunner(i, threadnum, size, image, scene);
       tr.start();
-    }
-  }
+                                      trarray[i]=tr;
+                                      }
+             TestRunner tr0 = new TestRunner(0, threadnum, size, image, scene);
+      tr0.run();
+    for(int i = 1; i < threadnum; ++i) {
+                                      trarray[i].join();
+                                      }
+}
 }