Mercurial > hg > GearsTemplate
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);