changeset 908:90c0ea7811ea

fix TaskManager position
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 27 Jan 2021 23:18:27 +0900
parents 013edcfe6f43
children ce4f6c985de6 03ae5db3dbe9
files src/parallel_execution/MCTaskManagerImpl.cbc src/parallel_execution/examples/DPPMC/main.cbc
diffstat 2 files changed, 6 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/parallel_execution/MCTaskManagerImpl.cbc	Wed Jan 27 21:26:31 2021 +0900
+++ b/src/parallel_execution/MCTaskManagerImpl.cbc	Wed Jan 27 23:18:27 2021 +0900
@@ -30,9 +30,10 @@
     taskManagerImpl->sendCPUWorkerIndex = taskManagerImpl->cpu;
     taskManagerImpl->taskCount = 0;
     taskManagerImpl->loopCounter = 0;
-    taskMangaerImpl->mem = 0;
+    taskManagerImpl->mem = 0;
+    context->taskManager = (union Data*) taskManager;
+    taskManager->taskManager = (union Data*)taskManagerImpl;
     createWorkers(context, taskManagerImpl);
-    taskManager->taskManager = (union Data*)taskManagerImpl;
     return taskManager;
 }
 
--- a/src/parallel_execution/examples/DPPMC/main.cbc	Wed Jan 27 21:26:31 2021 +0900
+++ b/src/parallel_execution/examples/DPPMC/main.cbc	Wed Jan 27 23:18:27 2021 +0900
@@ -27,7 +27,7 @@
     goto code1();
 }
 
-__code code1(struct LoopCounter* loopCounter) {
+__code code1() {
     printf("cpus:\t\t%d\n", cpu_num);
     printf("gpus:\t\t%d\n", gpu_num);
     printf("length:\t\t%d\n", length);
@@ -41,13 +41,13 @@
 }
 
 
-__code createTask1(struct LoopCounter* loopCounter, struct TaskManager* taskManager) {
+__code createTask1(struct TaskManager* taskManager) {    // without taskManager, par goto won't work
     AtomicT_int* fork0 = createAtomicT_intImpl_int(context,-1); // model checking : fork0
     AtomicT_int* fork1 = createAtomicT_intImpl_int(context,-1); // model checking : fork1
     AtomicT_int* fork2 = createAtomicT_intImpl_int(context,-1); // model checking : fork2
     AtomicT_int* fork3 = createAtomicT_intImpl_int(context,-1); // model checking : fork3
     AtomicT_int* fork4 = createAtomicT_intImpl_int(context,-1); // model checking : fork4
-    struct MCTaskManagerImpl *mcti = (struct MCTaskManagerImpl *)taskManager->taskManager;
+    struct MCTaskManagerImpl *mcti = (struct MCTaskManagerImpl *)context->taskManager->taskManager;
 					     
     Phils* phils0 = createPhilsImpl(context,0,fork0,fork1); // model checking : phils0
     addMemoryPhilsImpl(mcti,(struct PhilsImpl*)phils0->phils);