-
Notifications
You must be signed in to change notification settings - Fork 117
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
[OpenCL] Add Command Buffer extension to OpenCL adapter. #966
[OpenCL] Add Command Buffer extension to OpenCL adapter. #966
Conversation
30e2567
to
13c8c60
Compare
683f0da
to
489854e
Compare
6333136
to
31632c6
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.
This code LGTM, but I think this PR should have a companion change in DPC++. Once this UR commit get's pulled into DPC++ the SYCL-Graph extension will start reporting support for OpenCL with undocumented behaviour. Also without DPC++ testing, i'm not sure how to use this code path, given that I don't think there's UR CTS testing for experimental features.
What i'd imagine the companion DPC++ PR to cover:
- Add a OpenCL section to the design doc for SYCL-Graphs https://github.com/intel/llvm/blob/sycl/sycl/doc/design/CommandGraph.md#backend-implementation documenting the implementation on cl_khr_command_buffer, and explicitly documenting the types of nodes that aren't currently supported.
- Add opencl to the REQUIRES line of
test-e2e/Graph
tests which now pass with this change. - Add a
device.get_info<exp_ext::info::device::graph_support>();
check to all tests, skipping returning early for those which don't report support. As even for an OpenCL device, support is dependent on the cl_khr_command_buffer extension being available. This will probably be the case for all DPC++ CI testing, which I don't think uses a device with cl_khr_command_buffer support.
31632c6
to
afbe0b9
Compare
Hey @EwanC, thanks for the really thorough review. That all sounds fine for a new PR into DPC++, I'll open up an issue with the details you've provided. Should one PR be merged before the other? We're temporarily holding off merging any more stuff into the adapters branch here until a L0 issue is reverted but I'll have both of these changes ready to go once that's sorted. |
I think following the existing adapter change process is fine https://oneapi-src.github.io/unified-runtime/core/CONTRIB.html#adapter-change-process This will need to be merged first, but only after the DPC++ PR has been approved and CI passing. |
Have opened up an issue for the work required in DPC++ - intel/llvm#11599 |
afbe0b9
to
6b423d8
Compare
6b423d8
to
b2bc178
Compare
Corrected an error in |
b2bc178
to
04b5b48
Compare
04b5b48
to
c73d006
Compare
c73d006
to
a42adf2
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 😃
intel-llvm CI run for adding Command Buffers to the OpenCL Adapter in Unified Runtime - oneapi-src/unified-runtime#966 Also completes follow-on work identified in #11599 to add an OpenCL section to the SYCL-Graphs docs and update the e2e Graph tests. Updating the tests has since been completed in a separate PR - #11877 Depends on #11820 merging first. --------- Co-authored-by: Pablo Reble <pablo@reble.org> Co-authored-by: Ewan Crawford <ewan@codeplay.com> Co-authored-by: Kenneth Benzie (Benie) <k.benzie@codeplay.com>
intel-llvm CI run for adding Command Buffers to the OpenCL Adapter in Unified Runtime - oneapi-src/unified-runtime#966 Also completes follow-on work identified in intel#11599 to add an OpenCL section to the SYCL-Graphs docs and update the e2e Graph tests. Updating the tests has since been completed in a separate PR - intel#11877 Depends on intel#11820 merging first. --------- Co-authored-by: Pablo Reble <pablo@reble.org> Co-authored-by: Ewan Crawford <ewan@codeplay.com> Co-authored-by: Kenneth Benzie (Benie) <k.benzie@codeplay.com>
Adds implementations for the experimental Command Buffer entry points. Also fixes minor build error with missing namespace in enqueue.cpp.
Added companion intel-llvm PR which also updates many of the E2E tests to run against OpenCL - intel/llvm#11718