Mercurial > hg > Game > Cerium
annotate TaskManager/kernel/ppe/Threads.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 | 8ee897303cd0 |
children | 93569219173e |
rev | line source |
---|---|
817 | 1 #ifndef INCLUDED_THREADS |
2 #define INCLUDED_THREADS | |
3 | |
4 #include <pthread.h> | |
1179 | 5 #include "base.h" |
6 #include "types.h" | |
1581
8ee897303cd0
fix multi_dimention
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
1561
diff
changeset
|
7 #include "TaskList.h" |
817 | 8 |
9 | |
10 class Threads { | |
11 public: | |
895
b662e9dd26b0
add alignment of classes in SPU
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
824
diff
changeset
|
12 BASE_NEW_DELETE(Threads); |
b662e9dd26b0
add alignment of classes in SPU
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
824
diff
changeset
|
13 |
817 | 14 /* constructor */ |
824 | 15 Threads(int num = 1) {}; |
16 virtual ~Threads() {}; | |
817 | 17 |
18 /* functions */ | |
1191
bd4a27ae2524
success run to ballbound
Daichi TOMA <e085740@ie.u-ryukyu.ac.jp>
parents:
1185
diff
changeset
|
19 virtual void init() = 0; |
817 | 20 virtual int get_mail(int speid, int count, memaddr *ret) = 0; // BLOCKING |
21 virtual int has_mail(int speid, int count, memaddr *ret) = 0; // NONBLOCK | |
22 virtual void send_mail(int speid, int num, memaddr *data) = 0; // BLOCKING | |
1499 | 23 virtual void add_output_tasklist(int command, memaddr buff, int alloc_size) = 0; |
24 virtual int is_gpu(int cpuid) { return 0; } | |
1561
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1499
diff
changeset
|
25 virtual void set_NDRange(void* ndr)=0; |
1581
8ee897303cd0
fix multi_dimention
Shohei KOKUBO <e105744@ie.u-ryukyu.ac.jp>
parents:
1561
diff
changeset
|
26 virtual void spawn_task(int cpu_num, TaskListPtr p) = 0; |
817 | 27 /* variables */ |
28 pthread_t *threads; | |
29 int cpu_num; | |
899 | 30 } ; |
817 | 31 |
32 #endif |