Mercurial > hg > Game > Cerium
annotate TaskManager/kernel/ppe/TaskManager.h @ 1568:767d99d95fbc draft
refactoring
author | Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 16 Mar 2013 17:47:44 +0900 |
parents | e8c9a7099bcc |
children | 2a8826934b03 |
rev | line source |
---|---|
3 | 1 #ifndef INCLUDED_TASK_MANAGER |
2 #define INCLUDED_TASK_MANAGER | |
3 | |
307 | 4 #include "TaskManagerImpl.h" |
368 | 5 #include "MemList.h" |
556 | 6 #include "HTask.h" |
229 | 7 |
619 | 8 class Scheduler; |
9 class MemList; | |
10 | |
1561
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1542
diff
changeset
|
11 typedef struct nd_range { |
1568 | 12 nd_range() { |
13 dimension = 1; | |
14 gws[0]=1; gws[0]=1; gws[0]=1; | |
15 lws[0]=1; lws[0]=1; lws[0]=1; | |
16 } | |
1561
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1542
diff
changeset
|
17 cl_uint dimension; |
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1542
diff
changeset
|
18 size_t gws[3]; |
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1542
diff
changeset
|
19 size_t lws[3]; |
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1542
diff
changeset
|
20 } ND_RANGE_T, *ND_RANGE_T_PTR; |
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1542
diff
changeset
|
21 |
3 | 22 class TaskManager { |
23 public: | |
24 /* constructor */ | |
1148 | 25 TaskManager(int num); // The number of threads |
397
ce86b0186a4a
delete manager (in kernel/ppe/TaskManager.h)
game@henri.cr.ie.u-ryukyu.ac.jp
parents:
373
diff
changeset
|
26 ~TaskManager(); |
3 | 27 |
28 /* variables */ | |
373 | 29 TaskManagerImpl *m_impl; |
397
ce86b0186a4a
delete manager (in kernel/ppe/TaskManager.h)
game@henri.cr.ie.u-ryukyu.ac.jp
parents:
373
diff
changeset
|
30 void (*tm_end)(TaskManager *manager); |
216
e9a52d68db42
rename cerium_main to TMmain, add TMend()
gongo@localhost.localdomain
parents:
194
diff
changeset
|
31 |
e9a52d68db42
rename cerium_main to TMmain, add TMend()
gongo@localhost.localdomain
parents:
194
diff
changeset
|
32 /* user function */ |
e9a52d68db42
rename cerium_main to TMmain, add TMend()
gongo@localhost.localdomain
parents:
194
diff
changeset
|
33 HTaskPtr create_task(int cmd); |
634 | 34 HTaskPtr create_task(int cmd, memaddr r, long rs, memaddr w, long ws); |
801 | 35 HTaskPtr create_task_array(int id, int num_task, int num_param, int num_inData, int num_outData); |
36 | |
397
ce86b0186a4a
delete manager (in kernel/ppe/TaskManager.h)
game@henri.cr.ie.u-ryukyu.ac.jp
parents:
373
diff
changeset
|
37 void run(); |
216
e9a52d68db42
rename cerium_main to TMmain, add TMend()
gongo@localhost.localdomain
parents:
194
diff
changeset
|
38 void *allocate(int size); |
397
ce86b0186a4a
delete manager (in kernel/ppe/TaskManager.h)
game@henri.cr.ie.u-ryukyu.ac.jp
parents:
373
diff
changeset
|
39 void set_TMend(void (*endf)(TaskManager *manager)); |
ce86b0186a4a
delete manager (in kernel/ppe/TaskManager.h)
game@henri.cr.ie.u-ryukyu.ac.jp
parents:
373
diff
changeset
|
40 int get_cpuNum(); |
ce86b0186a4a
delete manager (in kernel/ppe/TaskManager.h)
game@henri.cr.ie.u-ryukyu.ac.jp
parents:
373
diff
changeset
|
41 int get_random(); |
373 | 42 Scheduler *get_scheduler(); |
1561
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1542
diff
changeset
|
43 void set_NDRange(ND_RANGE_T_PTR ndr) ; |
619 | 44 MemList* createMemList(int size, int count); |
3 | 45 |
672 | 46 void start_profile() { m_impl->start_profile(); } |
47 void show_profile() { m_impl->show_profile(); } | |
1428
af2adce9752e
add to export TaskLog
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
1229
diff
changeset
|
48 void export_task_log() { m_impl->export_task_log(); } |
672 | 49 |
932
53ad3a61b40b
sort test (add swap())
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
899
diff
changeset
|
50 SchedTask *get_schedTask() { |
1542
9ccfdc408d51
fix gpu word count.but not count line num.
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1479
diff
changeset
|
51 return m_impl->schedTaskManager; |
932
53ad3a61b40b
sort test (add swap())
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
899
diff
changeset
|
52 } |
53ad3a61b40b
sort test (add swap())
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
899
diff
changeset
|
53 |
3 | 54 /* functions */ |
1479
163220e54cc0
remove hard code for TaskLog
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
1428
diff
changeset
|
55 void init(int spuIdle, int export_task_log, int useRefDma); |
397
ce86b0186a4a
delete manager (in kernel/ppe/TaskManager.h)
game@henri.cr.ie.u-ryukyu.ac.jp
parents:
373
diff
changeset
|
56 void finish(); |
1542
9ccfdc408d51
fix gpu word count.but not count line num.
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1479
diff
changeset
|
57 void error(const char* str); |
3 | 58 private: |
59 int machineNum; | |
899 | 60 } ; |
3 | 61 |
62 #endif | |
109 | 63 |