summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
diff options
context:
space:
mode:
authorYang, Rong R <rong.r.yang@intel.com>2016-11-28 19:32:43 +0800
committerYang Rong <rong.r.yang@intel.com>2016-12-30 16:22:01 +0800
commitf8aa5ad2454967d638d214390823cbb93af3e76a (patch)
tree7245f3d96ee6bee5b8349b169030cc2ed44ca229 /src/CMakeLists.txt
parent4d5c6b87d9429867d9411dd70746d344bece780d (diff)
downloadbeignet-f8aa5ad2454967d638d214390823cbb93af3e76a.tar.gz
OCL20: handle device enqueue in runtime.
There are some step to handle device enqueue: 1. allocate the device enqueue bo to store the device enqueue information for parent kernel. Add must convert all global buffers to SVM buffers to make sure the child kernels have the same GPU address. 2. When flush the command, check whether have device enqueue or not. If has device enqueue, must wait finish and parse the device enqueue info. 3. Start the child ndrange according the device enqueue info, and the parent's global buffers as the exec info. Because of non uniform workgroup size, one enqueue api will flush serveral times, but device enqueue only need handle once, so add a flag to function cl_command_queue_flush to indicate the last flush. Signed-off-by: Yang Rong <rong.r.yang@intel.com> Reviewed-by: Pan Xiuli <xiuli.pan@intel.com>
Diffstat (limited to 'src/CMakeLists.txt')
-rw-r--r--src/CMakeLists.txt2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index af0dee37..f3c46328 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -93,6 +93,8 @@ set(OPENCL_SRC
cl_context.c
cl_command_queue.c
cl_command_queue.h
+ cl_device_enqueue.c
+ cl_device_enqueue.h
cl_command_queue_gen7.c
cl_command_queue_enqueue.c
cl_utils.c