annotate TaskManager/kernel/ppe/TaskList.cc @ 2054:2e7a6f40672f draft

add param(4) in FileMapReduce.cc
author masa
date Fri, 29 Jan 2016 15:56:28 +0900
parents be15a4d33605
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1756
165e11832816 no compile error
kkb
parents:
diff changeset
1 #include "TaskList.h"
165e11832816 no compile error
kkb
parents:
diff changeset
2 #include "HTask.h"
165e11832816 no compile error
kkb
parents:
diff changeset
3 #include "Scheduler.h"
165e11832816 no compile error
kkb
parents:
diff changeset
4
165e11832816 no compile error
kkb
parents:
diff changeset
5 class HTask;
165e11832816 no compile error
kkb
parents:
diff changeset
6
1763
be15a4d33605 worked except GPU
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1762
diff changeset
7 int TaskList::ismultidim(int cpu_num) {
1756
165e11832816 no compile error
kkb
parents:
diff changeset
8 TaskList* p = this;
165e11832816 no compile error
kkb
parents:
diff changeset
9 int dim_count = 0;
165e11832816 no compile error
kkb
parents:
diff changeset
10 int dim_count_max = 0;
165e11832816 no compile error
kkb
parents:
diff changeset
11 while(p) {
165e11832816 no compile error
kkb
parents:
diff changeset
12 if (p->dim>0) {
165e11832816 no compile error
kkb
parents:
diff changeset
13 dim_count = (p->x)*(p->y)*(p->z);
165e11832816 no compile error
kkb
parents:
diff changeset
14 if (dim_count_max < dim_count) dim_count_max = dim_count;
1763
be15a4d33605 worked except GPU
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1762
diff changeset
15 if (dim_count > cpu_num) dim_count = cpu_num;
1756
165e11832816 no compile error
kkb
parents:
diff changeset
16 p->self->flag.dim_count = dim_count;
1762
b53d197ec03d copy task list for multi dimention
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1757
diff changeset
17 } else
b53d197ec03d copy task list for multi dimention
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1757
diff changeset
18 p->self->flag.dim_count = 1;
1756
165e11832816 no compile error
kkb
parents:
diff changeset
19 p = p->next;
165e11832816 no compile error
kkb
parents:
diff changeset
20 }
165e11832816 no compile error
kkb
parents:
diff changeset
21 return dim_count_max;
165e11832816 no compile error
kkb
parents:
diff changeset
22 }
165e11832816 no compile error
kkb
parents:
diff changeset
23
165e11832816 no compile error
kkb
parents:
diff changeset
24 void TaskList::print() {
165e11832816 no compile error
kkb
parents:
diff changeset
25 printf("dim %d,x %d,y %d,z %d,cpu %d\n",dim,(int)x,(int)y,(int)z,cpu);
165e11832816 no compile error
kkb
parents:
diff changeset
26 Task* t = &tasks[0];
1763
be15a4d33605 worked except GPU
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1762
diff changeset
27 Task* p = t;
be15a4d33605 worked except GPU
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1762
diff changeset
28 int i = 0;
1757
feba52cd8374 no working
kkb
parents: 1756
diff changeset
29 while(t<last()) {
1756
165e11832816 no compile error
kkb
parents:
diff changeset
30 printf("command %s\n",task_list[t->command].name);
165e11832816 no compile error
kkb
parents:
diff changeset
31 t = t->next();
1763
be15a4d33605 worked except GPU
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1762
diff changeset
32 if (i++ & 1) p = p->next();
be15a4d33605 worked except GPU
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1762
diff changeset
33 if (t==p) {
be15a4d33605 worked except GPU
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1762
diff changeset
34 printf(" ... looped\n"); break;
be15a4d33605 worked except GPU
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1762
diff changeset
35 }
1756
165e11832816 no compile error
kkb
parents:
diff changeset
36 }
165e11832816 no compile error
kkb
parents:
diff changeset
37 }