Mercurial > hg > Game > Cerium
annotate TaskManager/kernel/ppe/TaskManager.h @ 1561:e8c9a7099bcc draft
add set NDRange param
author | Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 12 Mar 2013 16:52:49 +0900 |
parents | 9ccfdc408d51 |
children | 767d99d95fbc |
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 { |
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1542
diff
changeset
|
12 cl_uint dimension; |
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1542
diff
changeset
|
13 size_t gws[3]; |
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1542
diff
changeset
|
14 size_t lws[3]; |
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1542
diff
changeset
|
15 } 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
|
16 |
3 | 17 class TaskManager { |
18 public: | |
19 /* constructor */ | |
1148 | 20 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
|
21 ~TaskManager(); |
3 | 22 |
23 /* variables */ | |
373 | 24 TaskManagerImpl *m_impl; |
397
ce86b0186a4a
delete manager (in kernel/ppe/TaskManager.h)
game@henri.cr.ie.u-ryukyu.ac.jp
parents:
373
diff
changeset
|
25 void (*tm_end)(TaskManager *manager); |
1561
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1542
diff
changeset
|
26 ND_RANGE_T_PTR ndr; |
216
e9a52d68db42
rename cerium_main to TMmain, add TMend()
gongo@localhost.localdomain
parents:
194
diff
changeset
|
27 |
e9a52d68db42
rename cerium_main to TMmain, add TMend()
gongo@localhost.localdomain
parents:
194
diff
changeset
|
28 /* user function */ |
e9a52d68db42
rename cerium_main to TMmain, add TMend()
gongo@localhost.localdomain
parents:
194
diff
changeset
|
29 HTaskPtr create_task(int cmd); |
634 | 30 HTaskPtr create_task(int cmd, memaddr r, long rs, memaddr w, long ws); |
801 | 31 HTaskPtr create_task_array(int id, int num_task, int num_param, int num_inData, int num_outData); |
32 | |
397
ce86b0186a4a
delete manager (in kernel/ppe/TaskManager.h)
game@henri.cr.ie.u-ryukyu.ac.jp
parents:
373
diff
changeset
|
33 void run(); |
216
e9a52d68db42
rename cerium_main to TMmain, add TMend()
gongo@localhost.localdomain
parents:
194
diff
changeset
|
34 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
|
35 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
|
36 int get_cpuNum(); |
ce86b0186a4a
delete manager (in kernel/ppe/TaskManager.h)
game@henri.cr.ie.u-ryukyu.ac.jp
parents:
373
diff
changeset
|
37 int get_random(); |
373 | 38 Scheduler *get_scheduler(); |
1561
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1542
diff
changeset
|
39 void set_NDRange(ND_RANGE_T_PTR ndr) ; |
619 | 40 MemList* createMemList(int size, int count); |
3 | 41 |
672 | 42 void start_profile() { m_impl->start_profile(); } |
43 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
|
44 void export_task_log() { m_impl->export_task_log(); } |
672 | 45 |
932
53ad3a61b40b
sort test (add swap())
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
899
diff
changeset
|
46 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
|
47 return m_impl->schedTaskManager; |
932
53ad3a61b40b
sort test (add swap())
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
899
diff
changeset
|
48 } |
53ad3a61b40b
sort test (add swap())
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
899
diff
changeset
|
49 |
3 | 50 /* functions */ |
1479
163220e54cc0
remove hard code for TaskLog
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
1428
diff
changeset
|
51 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
|
52 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
|
53 void error(const char* str); |
3 | 54 private: |
55 int machineNum; | |
899 | 56 } ; |
3 | 57 |
58 #endif | |
109 | 59 |