-
Notifications
You must be signed in to change notification settings - Fork 738
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
[SYCL][Graph] Add support for CUDA backend #11133
Conversation
Implements urCommandBufferAppendKernelLaunchExp function to append kernel to a command buffer. Implements urCommandBufferAppendKernelLaunchExp function to enqueue a command buffer to a cuda stream. Enable all tests supported by the current state of the Cuda backend. Sets a ScopedContext before enqueuing command buffer. * [SYCL][Graph] Adds missing exception catch
Implements CUDA backend support for: - memcpyUSM - memcpy Device to Device (1D and 2D) - memcpy Host to Device (Write 1D and 2D) - memcpy Device to Host (Read 1D and 2D) Enables all remaining e2e tests * [SYCL][Graph] Adds helper to register sync point
…kend (#309) * [SYCL][Graph] Updates design Doc to report CUDA as supported backend * [SYCL][Graph] Improves description and adds links to CUDA doc * Update sycl/doc/design/CommandGraph.md Co-authored-by: Ewan Crawford <ewan@codeplay.com> * Update sycl/doc/design/CommandGraph.md Co-authored-by: Julian Miller <julian.miller@intel.com> * Update sycl/doc/design/CommandGraph.md Co-authored-by: Julian Miller <julian.miller@intel.com> * Update sycl/doc/design/CommandGraph.md Co-authored-by: Julian Miller <julian.miller@intel.com> * Update sycl/doc/design/CommandGraph.md Co-authored-by: Julian Miller <julian.miller@intel.com> * Update sycl/doc/design/CommandGraph.md Co-authored-by: Julian Miller <julian.miller@intel.com> --------- Co-authored-by: Ewan Crawford <ewan@codeplay.com> Co-authored-by: Julian Miller <julian.miller@intel.com>
…end (#279) * [SYCL][Graph] Implement graph creation and finalization for CUDA backend Implements CommandBuffer creation, retain, release and finalize functions for the cuda backend. These functions rely on the cuda graph feature which is part of cuda runtime. Consequently, this PR adds the required linking dependencies. Fixes a commandbuffer bug in the cuda pluging initialization. Reports cuda backend as supported for the graph extension. Adds a tests that creates and finalizes an empty graph.
…ecessary e2e test
The offsets are taken into account after CUdeviceptr type casting.
This patch does not fix e2e test failure on AWS. This reverts commit cdc19b1.
…n the CUDA backend (#325)
71c681e
to
be7a830
Compare
- Commands which enqueue to a command graph now correctly respect their dependencies by waiting on them. - Prevents issues where allocation commands with dependent copies could be delayed due to device being busy and execute in an incorrect order with regards to future command graph executions.
be7a830
to
9b984e3
Compare
This is a temporary workaround to unblock the UR merge queue. We will investigate and fix as follow-up work.
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.
UR LGTM
@intel/llvm-reviewers-runtime please review ASAP, this is blocking other UR changes. |
@intel/llvm-reviewers-runtime Could you give this PR a look please |
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.
Sorry, this one flew under my radar! LGTM!
Enables buffer tests which were disabled on #11133 due to a failure which is no longer reproducible.
Adds support for enabling CUDA backend with Sycl-Graph:
Companion PR with CUDA UR adapter changes is here: oneapi-src/unified-runtime#932
Authors
Co-authored-by: Maxime France-Pillois maxime.francepillois@codeplay.com
Co-authored-by: Ben Tracy ben.tracy@codeplay.com
Co-authored-by: Ewan Crawford ewan@codeplay.com