annotate TaskManager/kernel/ppe/TaskManager.h @ 1602:e33e106ca3e0 draft

change default make parallel from fifo
author Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
date Sat, 06 Apr 2013 17:27:30 +0900
parents 2a8826934b03
children 93569219173e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
1 #ifndef INCLUDED_TASK_MANAGER
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
2 #define INCLUDED_TASK_MANAGER
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
3
307
3fc86ddf5d1c clean up include
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 297
diff changeset
4 #include "TaskManagerImpl.h"
368
1a80a2aa696c change TaskManager
aaa
parents: 366
diff changeset
5 #include "MemList.h"
556
12135dde3b87 Cerium no error.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 397
diff changeset
6 #include "HTask.h"
229
e6eb4f8d6b0e add Random class
gongo@gendarme.cr.ie.u-ryukyu.ac.jp
parents: 220
diff changeset
7
619
278db3ca751d RenewTask removal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 567
diff changeset
8 class Scheduler;
278db3ca751d RenewTask removal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 567
diff changeset
9 class MemList;
278db3ca751d RenewTask removal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 567
diff changeset
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
767d99d95fbc refactoring
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents: 1561
diff changeset
12 nd_range() {
767d99d95fbc refactoring
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents: 1561
diff changeset
13 dimension = 1;
1573
2a8826934b03 adjust time measurement
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents: 1568
diff changeset
14 gws[0]=1; gws[1]=1; gws[2]=1;
2a8826934b03 adjust time measurement
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents: 1568
diff changeset
15 lws[0]=1; lws[1]=1; lws[2]=1;
1568
767d99d95fbc refactoring
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents: 1561
diff changeset
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
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
22 class TaskManager {
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
23 public:
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
24 /* constructor */
1148
b4f8ec8b80a9 minor fix..
Yutaka_Kinjyo
parents: 1147
diff changeset
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
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
27
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
28 /* variables */
373
205e4a4af635 MemList not working
kazz@kazzone.cr.ie.u-ryukyu.ac.jp
parents: 368
diff changeset
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
62e570ac5db2 SimpleTask start
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 631
diff changeset
34 HTaskPtr create_task(int cmd, memaddr r, long rs, memaddr w, long ws);
801
eb6add789a24 global id
yutaka@localhost.localdomain
parents: 713
diff changeset
35 HTaskPtr create_task_array(int id, int num_task, int num_param, int num_inData, int num_outData);
eb6add789a24 global id
yutaka@localhost.localdomain
parents: 713
diff changeset
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
205e4a4af635 MemList not working
kazz@kazzone.cr.ie.u-ryukyu.ac.jp
parents: 368
diff changeset
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
278db3ca751d RenewTask removal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 567
diff changeset
44 MemList* createMemList(int size, int count);
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
45
672
27fec8c70c9c add profiling code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 634
diff changeset
46 void start_profile() { m_impl->start_profile(); }
27fec8c70c9c add profiling code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 634
diff changeset
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
27fec8c70c9c add profiling code
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 634
diff changeset
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
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
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
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
58 private:
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
59 int machineNum;
899
1b9418af3127 minor fix..
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 895
diff changeset
60 } ;
3
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
61
2356238ebea7 *** empty log message ***
gongo
parents:
diff changeset
62 #endif
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents: 105
diff changeset
63