[SYCL][Graph] L0 Backend support for SYCL Graphs (2/4)#9992
Merged
steffenlarsen merged 19 commits intointel:syclfrom Jul 4, 2023
Merged
[SYCL][Graph] L0 Backend support for SYCL Graphs (2/4)#9992steffenlarsen merged 19 commits intointel:syclfrom
steffenlarsen merged 19 commits intointel:syclfrom
Conversation
- Squashed commit of command-buffer UR changes - Level Zero implementation - Stubs for all other adapters
00e8f74 to
028657a
Compare
bader
reviewed
Jun 22, 2023
Contributor
bader
left a comment
There was a problem hiding this comment.
I didn't go deep into the code, so just some style comments.
sycl/plugins/unified_runtime/ur/adapters/cuda/command_buffer.hpp
Outdated
Show resolved
Hide resolved
sycl/plugins/unified_runtime/ur/adapters/cuda/command_buffer.cpp
Outdated
Show resolved
Hide resolved
sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_level_zero_command_buffer.cpp
Outdated
Show resolved
Hide resolved
sycl/plugins/unified_runtime/ur/adapters/level_zero/ur_level_zero_event.cpp
Show resolved
Hide resolved
This was referenced Jun 5, 2023
Pulls in changes from #238 which requires bumping the UR commit to oneapi-src/unified-runtime#644 Co-authored-by: Maxime France-Pillois <maxime.francepillois@codeplay.com>
Contributor
|
Hi @bso-intel, would you be able to review this on behalf of @intel/llvm-reviewers-runtime. Could someone from @intel/dpcpp-esimd-reviewers please also review this PR. |
steffenlarsen
approved these changes
Jul 3, 2023
added 2 commits
July 4, 2023 08:39
Define a return error code in PI opencl stubs
steffenlarsen
approved these changes
Jul 4, 2023
Contributor
steffenlarsen
left a comment
There was a problem hiding this comment.
Failed Tests (1):
SYCL :: ESIMD/accessor_local.cpp - Reported in #10138 and has since been disabled.
EwanC
pushed a commit
to EwanC/llvm
that referenced
this pull request
Jul 4, 2023
Fixes error found in [post-commit CI](https://github.com/intel/llvm/actions/runs/5454766342/jobs/9925392005) after the merge of intel#9992 ``` /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5635:24: error: unused parameter 'sync_point' [-Werror,-Wunused-parameter] 5635 | pi_ext_sync_point *sync_point) { | ^ /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5691:12: error: unused parameter 'dst_row_pitch' [-Werror,-Wunused-parameter] 5691 | size_t dst_row_pitch, size_t dst_slice_pitch, | ^ /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5691:34: error: unused parameter 'dst_slice_pitch' [-Werror,-Wunused-parameter] 5691 | size_t dst_row_pitch, size_t dst_slice_pitch, | ^ 3 errors generated. ```
steffenlarsen
pushed a commit
that referenced
this pull request
Jul 4, 2023
Fixes error found in [post-commit CI](https://github.com/intel/llvm/actions/runs/5454766342/jobs/9925392005) after the merge of #9992 ``` /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5635:24: error: unused parameter 'sync_point' [-Werror,-Wunused-parameter] 5635 | pi_ext_sync_point *sync_point) { | ^ /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5691:12: error: unused parameter 'dst_row_pitch' [-Werror,-Wunused-parameter] 5691 | size_t dst_row_pitch, size_t dst_slice_pitch, | ^ /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5691:34: error: unused parameter 'dst_slice_pitch' [-Werror,-Wunused-parameter] 5691 | size_t dst_row_pitch, size_t dst_slice_pitch, | ^ 3 errors generated. ```
steffenlarsen
pushed a commit
that referenced
this pull request
Jul 17, 2023
…hs (3/4) (#10033) # Backend integration and feature additions for SYCL Graphs This is the third patch of a series that adds support for an [experimental command graph extension](#5626) A snapshot of the complete work can be seen in draft PR #9375 which has support all the specification defined ways of adding nodes and edges to the graph, including both Explicit and Record & Replay graph construction. The two types of nodes currently implemented are kernel execution and memcpy commands. See https://github.com/reble/llvm#implementation-status for the status of our total work. ## Scope This third patch focuses on integrating the graphs runtime with the backend support added in #9992 as well as any remaining runtime features and bug fixes, and should include no ABI-breaking changes: * Graphs runtime changes to use PI/UR command-buffers. * Various improvements to the Graphs runtime classes. * New memory manager methods for appending copies to a command-buffer. * Changes to the Scheduler and related CG classes to enable Graphs. * Device info query for command-graph support. * Minor changes to some runtime classes to enable Graphs. ## Following Split PRs Future follow-up PRs with the remainder of our work on the extension will include: * Add end-to-end tests for SYCL Graph extension. (4/4) * NFC changes - Design doc and codeowner update. ## Authors Co-authored-by: Pablo Reble <pablo.reble@intel.com> Co-authored-by: Julian Miller <julian.miller@intel.com> Co-authored-by: Ben Tracy <ben.tracy@codeplay.com> Co-authored-by: Ewan Crawford <ewan@codeplay.com> Co-authored-by: Maxime France-Pillois <maxime.francepillois@codeplay.com>
veselypeta
pushed a commit
to veselypeta/llvm
that referenced
this pull request
Sep 21, 2023
# Level Zero Backend Support for SYCL Graphs This is the second patch of a series that adds support for an [experimental command graph extension](intel#5626) A snapshot of the complete work can be seen in draft PR intel#9375 which has support all the specification defined ways of adding nodes and edges to the graph, including both Explicit and Record & Replay graph construction. The two types of nodes currently implemented are kernel execution and memcpy commands. See https://github.com/reble/llvm#implementation-status for the status of our total work. ## Scope This second patch focuses on the required PI/UR support for the experimental command-buffer feature in the Level Zero adapter: * PI stubs for all adapters to enable compilation, no functionality. * Command-buffer implementation for the Level Zero UR adapter. * Stubs for the CUDA UR adapter to enable compilation, no functionality. ## Following Split PRs Future follow-up PRs with the remainder of our work on the extension will include: * Hooking up backend to graphs runtime, bugfixes and other feature additions, will add symbols but not break the ABI. (3/4) * Add end-to-end tests for SYCL Graph extension. (4/4) * NFC changes - Design doc and codeowner update. ## Authors Co-authored-by: Pablo Reble <pablo.reble@intel.com> Co-authored-by: Julian Miller <julian.miller@intel.com> Co-authored-by: Ben Tracy <ben.tracy@codeplay.com> Co-authored-by: Ewan Crawford <ewan@codeplay.com> Co-authored-by: Maxime France-Pillois <maxime.francepillois@codeplay.com> --------- Co-authored-by: Ewan Crawford <ewan@codeplay.com> Co-authored-by: Maxime France-Pillois <maxime.francepillois@codeplay.com>
veselypeta
pushed a commit
to veselypeta/llvm
that referenced
this pull request
Sep 21, 2023
…hs (3/4) (intel#10033) # Backend integration and feature additions for SYCL Graphs This is the third patch of a series that adds support for an [experimental command graph extension](intel#5626) A snapshot of the complete work can be seen in draft PR intel#9375 which has support all the specification defined ways of adding nodes and edges to the graph, including both Explicit and Record & Replay graph construction. The two types of nodes currently implemented are kernel execution and memcpy commands. See https://github.com/reble/llvm#implementation-status for the status of our total work. ## Scope This third patch focuses on integrating the graphs runtime with the backend support added in intel#9992 as well as any remaining runtime features and bug fixes, and should include no ABI-breaking changes: * Graphs runtime changes to use PI/UR command-buffers. * Various improvements to the Graphs runtime classes. * New memory manager methods for appending copies to a command-buffer. * Changes to the Scheduler and related CG classes to enable Graphs. * Device info query for command-graph support. * Minor changes to some runtime classes to enable Graphs. ## Following Split PRs Future follow-up PRs with the remainder of our work on the extension will include: * Add end-to-end tests for SYCL Graph extension. (4/4) * NFC changes - Design doc and codeowner update. ## Authors Co-authored-by: Pablo Reble <pablo.reble@intel.com> Co-authored-by: Julian Miller <julian.miller@intel.com> Co-authored-by: Ben Tracy <ben.tracy@codeplay.com> Co-authored-by: Ewan Crawford <ewan@codeplay.com> Co-authored-by: Maxime France-Pillois <maxime.francepillois@codeplay.com>
fabiomestre
pushed a commit
to fabiomestre/llvm
that referenced
this pull request
Sep 26, 2023
# Level Zero Backend Support for SYCL Graphs This is the second patch of a series that adds support for an [experimental command graph extension](intel#5626) A snapshot of the complete work can be seen in draft PR intel#9375 which has support all the specification defined ways of adding nodes and edges to the graph, including both Explicit and Record & Replay graph construction. The two types of nodes currently implemented are kernel execution and memcpy commands. See https://github.com/reble/llvm#implementation-status for the status of our total work. ## Scope This second patch focuses on the required PI/UR support for the experimental command-buffer feature in the Level Zero adapter: * PI stubs for all adapters to enable compilation, no functionality. * Command-buffer implementation for the Level Zero UR adapter. * Stubs for the CUDA UR adapter to enable compilation, no functionality. ## Following Split PRs Future follow-up PRs with the remainder of our work on the extension will include: * Hooking up backend to graphs runtime, bugfixes and other feature additions, will add symbols but not break the ABI. (3/4) * Add end-to-end tests for SYCL Graph extension. (4/4) * NFC changes - Design doc and codeowner update. ## Authors Co-authored-by: Pablo Reble <pablo.reble@intel.com> Co-authored-by: Julian Miller <julian.miller@intel.com> Co-authored-by: Ben Tracy <ben.tracy@codeplay.com> Co-authored-by: Ewan Crawford <ewan@codeplay.com> Co-authored-by: Maxime France-Pillois <maxime.francepillois@codeplay.com> --------- Co-authored-by: Ewan Crawford <ewan@codeplay.com> Co-authored-by: Maxime France-Pillois <maxime.francepillois@codeplay.com>
fabiomestre
pushed a commit
to fabiomestre/llvm
that referenced
this pull request
Sep 26, 2023
Fixes error found in [post-commit CI](https://github.com/intel/llvm/actions/runs/5454766342/jobs/9925392005) after the merge of intel#9992 ``` /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5635:24: error: unused parameter 'sync_point' [-Werror,-Wunused-parameter] 5635 | pi_ext_sync_point *sync_point) { | ^ /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5691:12: error: unused parameter 'dst_row_pitch' [-Werror,-Wunused-parameter] 5691 | size_t dst_row_pitch, size_t dst_slice_pitch, | ^ /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5691:34: error: unused parameter 'dst_slice_pitch' [-Werror,-Wunused-parameter] 5691 | size_t dst_row_pitch, size_t dst_slice_pitch, | ^ 3 errors generated. ```
fabiomestre
pushed a commit
to fabiomestre/unified-runtime
that referenced
this pull request
Sep 26, 2023
Fixes error found in [post-commit CI](https://github.com/intel/llvm/actions/runs/5454766342/jobs/9925392005) after the merge of intel/llvm#9992 ``` /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5635:24: error: unused parameter 'sync_point' [-Werror,-Wunused-parameter] 5635 | pi_ext_sync_point *sync_point) { | ^ /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5691:12: error: unused parameter 'dst_row_pitch' [-Werror,-Wunused-parameter] 5691 | size_t dst_row_pitch, size_t dst_slice_pitch, | ^ /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5691:34: error: unused parameter 'dst_slice_pitch' [-Werror,-Wunused-parameter] 5691 | size_t dst_row_pitch, size_t dst_slice_pitch, | ^ 3 errors generated. ```
fabiomestre
pushed a commit
to oneapi-src/unified-runtime
that referenced
this pull request
Sep 27, 2023
Fixes error found in [post-commit CI](https://github.com/intel/llvm/actions/runs/5454766342/jobs/9925392005) after the merge of intel/llvm#9992 ``` /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5635:24: error: unused parameter 'sync_point' [-Werror,-Wunused-parameter] 5635 | pi_ext_sync_point *sync_point) { | ^ /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5691:12: error: unused parameter 'dst_row_pitch' [-Werror,-Wunused-parameter] 5691 | size_t dst_row_pitch, size_t dst_slice_pitch, | ^ /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5691:34: error: unused parameter 'dst_slice_pitch' [-Werror,-Wunused-parameter] 5691 | size_t dst_row_pitch, size_t dst_slice_pitch, | ^ 3 errors generated. ```
omarahmed1111
pushed a commit
to omarahmed1111/unified-runtime
that referenced
this pull request
Oct 23, 2023
Fixes error found in [post-commit CI](https://github.com/intel/llvm/actions/runs/5454766342/jobs/9925392005) after the merge of intel/llvm#9992 ``` /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5635:24: error: unused parameter 'sync_point' [-Werror,-Wunused-parameter] 5635 | pi_ext_sync_point *sync_point) { | ^ /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5691:12: error: unused parameter 'dst_row_pitch' [-Werror,-Wunused-parameter] 5691 | size_t dst_row_pitch, size_t dst_slice_pitch, | ^ /__w/llvm/llvm/src/sycl/plugins/hip/pi_hip.cpp:5691:34: error: unused parameter 'dst_slice_pitch' [-Werror,-Wunused-parameter] 5691 | size_t dst_row_pitch, size_t dst_slice_pitch, | ^ 3 errors generated. ```
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Level Zero Backend Support for SYCL Graphs
This is the second patch of a series that adds support for an experimental command graph extension
A snapshot of the complete work can be seen in draft PR #9375 which has support all the specification defined ways of
adding nodes and edges to the graph, including both Explicit and Record & Replay graph construction. The two types of nodes currently implemented are kernel execution and memcpy commands.
See https://github.com/reble/llvm#implementation-status for the status of our total work.
Scope
This second patch focuses on the required PI/UR support for the experimental command-buffer feature in the Level Zero adapter:
Following Split PRs
Future follow-up PRs with the remainder of our work on the extension will include:
Authors
Co-authored-by: Pablo Reble pablo.reble@intel.com
Co-authored-by: Julian Miller julian.miller@intel.com
Co-authored-by: Ben Tracy ben.tracy@codeplay.com
Co-authored-by: Ewan Crawford ewan@codeplay.com
Co-authored-by: Maxime France-Pillois maxime.francepillois@codeplay.com