Mercurial > hg > Game > Cerium
annotate TaskManager/Gpu/GpuScheduler.h @ 1641:289378e5abf8 draft
add print flag
author | Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 18 Jun 2013 18:52:42 +0900 |
parents | fbb4757d82ee |
children | 4baed436fc58 |
rev | line source |
---|---|
1434 | 1 #ifndef INCLUDED_GPU_SCHEDULER |
2 #define INCLUDED_GPU_SCHEDULER | |
3 | |
4 #include "Scheduler.h" | |
1447 | 5 #include "FifoDmaManager.h" |
1480
f2512fb94223
GpuTaskManager no compile error
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1478
diff
changeset
|
6 #include "GpuThreads.h" |
1506
a7895ab4d0e3
add flip flag and NDRange flag
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1486
diff
changeset
|
7 #include "HTask.h" |
1561
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1555
diff
changeset
|
8 #include "TaskManager.h" |
1434 | 9 |
10 #ifdef __APPLE__ | |
11 #include <OpenCL/opencl.h> | |
12 #else | |
13 #include <CL/cl.h> | |
14 #endif | |
15 | |
1631 | 16 extern TaskObject gpu_task_list[MAX_TASK_OBJECT]; |
17 | |
1434 | 18 class GpuScheduler : public Scheduler { |
1561
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1555
diff
changeset
|
19 public: |
1471 | 20 GpuScheduler(); |
1506
a7895ab4d0e3
add flip flag and NDRange flag
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1486
diff
changeset
|
21 virtual ~GpuScheduler(); |
1434 | 22 void init_impl(int useRefDma); |
1480
f2512fb94223
GpuTaskManager no compile error
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1478
diff
changeset
|
23 void init_gpu(); |
1633
fbb4757d82ee
refactor GpuScheduler
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1631
diff
changeset
|
24 void wait_for_event(cl_event* event,memaddr* reply,int cur); |
1447 | 25 void run(); |
1561
e8c9a7099bcc
add set NDRange param
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1555
diff
changeset
|
26 |
1447 | 27 void mail_write_from_host(memaddr data) { |
1482 | 28 fifoDmaManager->mail_write_from_host(data); |
1447 | 29 } |
30 | |
31 memaddr mail_read_from_host() { | |
1508 | 32 return fifoDmaManager->mail_read_from_host(); |
1447 | 33 } |
34 | |
35 int has_mail_from_host() { | |
1508 | 36 return fifoDmaManager->has_mail_from_host(); |
1447 | 37 } |
1434 | 38 |
1480
f2512fb94223
GpuTaskManager no compile error
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1478
diff
changeset
|
39 cl_platform_id platform_id; |
f2512fb94223
GpuTaskManager no compile error
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1478
diff
changeset
|
40 cl_device_id device_id; |
f2512fb94223
GpuTaskManager no compile error
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1478
diff
changeset
|
41 cl_uint ret_num_platforms; |
f2512fb94223
GpuTaskManager no compile error
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1478
diff
changeset
|
42 cl_uint ret_num_devices; |
f2512fb94223
GpuTaskManager no compile error
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1478
diff
changeset
|
43 cl_context context; |
1549
68200bc3ab6b
change clfinish to wait for event
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1530
diff
changeset
|
44 cl_command_queue command_queue; |
1480
f2512fb94223
GpuTaskManager no compile error
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1478
diff
changeset
|
45 cl_int ret; |
1434 | 46 private: |
1447 | 47 FifoDmaManager *fifoDmaManager; |
1486 | 48 void load_kernel(int cmd); |
1480
f2512fb94223
GpuTaskManager no compile error
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1478
diff
changeset
|
49 |
1434 | 50 }; |
51 | |
1513
18b63e697c61
many_task/quick_sort is changed recursive to loop
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1508
diff
changeset
|
52 #define GpuSchedRegister(str, filename, functionname) \ |
18b63e697c61
many_task/quick_sort is changed recursive to loop
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1508
diff
changeset
|
53 gpu_register_task(str, filename, functionname); |
1434 | 54 #endif |
1435
9f6ba00ca15c
add gpu_sched_register
Daichi TOMA <toma@cr.ie.u-ryukyu.ac.jp>
parents:
1434
diff
changeset
|
55 |
1513
18b63e697c61
many_task/quick_sort is changed recursive to loop
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1508
diff
changeset
|
56 extern void gpu_register_task(int cmd,const char* filename,const char* functionname); |
1515
b3644b73d2cf
add flip flag test
Yuhi TOMARI <yuhi@cr.ie.u-ryukyu.ac.jp>
parents:
1513
diff
changeset
|
57 |