diff TaskManager/kernel/ppe/CpuThreads.cc @ 1580:806b4658ced6 draft

add multi dimension
author Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
date Fri, 29 Mar 2013 19:32:58 +0900
parents e8c9a7099bcc
children 8ee897303cd0
line wrap: on
line diff
--- a/TaskManager/kernel/ppe/CpuThreads.cc	Mon Mar 25 23:27:04 2013 +0900
+++ b/TaskManager/kernel/ppe/CpuThreads.cc	Fri Mar 29 19:32:58 2013 +0900
@@ -101,6 +101,20 @@
     gpu->set_NDRange(ndr);
 }
 
+void
+CpuThreads::spawn_task(int cpu_num, TaskListPtr p) {
+    if (p->dim>0) {
+      int dim_count = (x+1)*(y+1)*(z+1);
+      if (cpu_num > dim_count)
+        p->tasks[0].self->dim_count = cpu_num;
+        for (int i = 0; i < cpu_num; i++) {
+	  send_mail(i+1,1,(memaddr)&p);
+	}
+    } else {
+        send_mail(cpu_num,1,(memaddr)&p);
+    }
+}
+
 /**
  * このCPU からのメールを受信する。
  *