changeset 234:47588c28f189

TaskManager
author mir3636
date Sun, 22 Jan 2017 20:17:11 +0900
parents 06133afb3b5b
children 05e61405cc88
files src/parallel_execution/Todo src/parallel_execution/context.h src/parallel_execution/taskManager.c
diffstat 3 files changed, 12 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/parallel_execution/Todo	Sun Jan 22 20:02:21 2017 +0900
+++ b/src/parallel_execution/Todo	Sun Jan 22 20:17:11 2017 +0900
@@ -1,3 +1,12 @@
+Sun Jan 22 20:11:28 JST 2017
+    TaskManagerから必要なCPUWorkerを生成する
+    WorkerはcreateWorker時に新しくthreadを作る
+    
+    TaskManager->createTaskで新しいContextを生成する
+    この時点でWorkerを番号で指定する
+    このContextにGearefで値を設定していく
+    待ち合わせ用のDSを設定する
+    taskManager->spawnでWorkerにcontextを送る
 Fri Jan 13 17:47:40 JST 2017
     Task は contextを直接使うことにする
         DS には, まっているcontextをListを作る
--- a/src/parallel_execution/context.h	Sun Jan 22 20:02:21 2017 +0900
+++ b/src/parallel_execution/context.h	Sun Jan 22 20:17:11 2017 +0900
@@ -83,7 +83,8 @@
     } LoopCounter;
     struct TaskManager {
         union Data* taskManager;
-        enum Code spawn;
+        enum Code createTask; // create NEW  contexts for execution & argument
+        enum Code spawn;      // start NEW context on the worker
         enum Code shutdown;
 
         enum Code next;
--- a/src/parallel_execution/taskManager.c	Sun Jan 22 20:02:21 2017 +0900
+++ b/src/parallel_execution/taskManager.c	Sun Jan 22 20:17:11 2017 +0900
@@ -16,6 +16,7 @@
     taskManager->io = 0;
     taskManager->gpu = numIO;
     taskManeger->cpu = numIO+numGPU;
+    taskManager->createTask = C_createTask;
     taskManager->spawn = C_spawnTaskManager;
     taskManager->shutdown  = C_shutdownTaskManager;
     return (union Data*)(taskManager);