-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[EXP][OpenCL] Update kernel commands in a command-buffer #1358
Conversation
67da5d8
to
8def359
Compare
8def359
to
9f5fe08
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with a couple minor comments!
test/conformance/exp_command_buffer/buffer_fill_kernel_update.cpp
Outdated
Show resolved
Hide resolved
9f5fe08
to
ede570c
Compare
Codecov ReportAttention: Patch coverage is
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #1358 +/- ##
==========================================
- Coverage 14.82% 12.43% -2.39%
==========================================
Files 250 241 -9
Lines 36220 36230 +10
Branches 4094 4112 +18
==========================================
- Hits 5369 4506 -863
- Misses 30800 31720 +920
+ Partials 51 4 -47 ☔ View full report in Codecov by Sentry. |
3ceb6d9
to
5eeb6cf
Compare
5eeb6cf
to
a442cbf
Compare
a442cbf
to
df68355
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
7419c39
to
3ba6673
Compare
Implement the API for updating the kernel commands in a command-buffer defined by oneapi-src#1089 for the OpenCL adapter. However, the following changes to the UR kernel update API have been made based on implementation experience: 1. Forbid updating the work-dim of the kernel, see KhronosGroup/OpenCL-Docs#1057 2. Remove struct fields to update exec info, after [DPC++ implementation prototype](intel/llvm#12840) shows this isn't needed. 3. Forbid changing the local work size from user to impl defined and vice-versa. See discussion in [L0 implementation PR](oneapi-src#1353 (comment)). This adapter implementation depends on support for the [cl_khr_command_buffer_mutable_dispatch](https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_Ext.html#cl_khr_command_buffer_mutable_dispatch) extension. Tested on Intel GPU/CPUs OpenCL implementations with the [command-buffer emulation layer](https://github.com/bashbaug/SimpleOpenCLSamples/tree/main/layers/10_cmdbufemu). ```bash $ OPENCL_LAYERS=<path/to/SimpleOpenCLSamples/build/layers/10_cmdbufemu/libCmdBufEmu.so> ./bin/test-exp_command_buffer --platform="Intel(R) OpenCL Graphics" ``` DPC++ PR intel/llvm#12724
3ba6673
to
1449fa1
Compare
1449fa1
to
c3c5406
Compare
Test the UR commit that enables updating kernel commands in a command-buffer in the OpenCL adapter oneapi-src/unified-runtime#1358
Implement the API for updating the kernel commands in a command-buffer defined by #1089 for the OpenCL adapter.
However, the following changes to the UR kernel update API have been made based on implementation experience:
This adapter implementation depends on support for the cl_khr_command_buffer_mutable_dispatch extension.
Tested on Intel GPU/CPUs OpenCL implementations with the command-buffer emulation layer.
DPC++ PR intel/llvm#12724