-
Notifications
You must be signed in to change notification settings - Fork 3k
[GPU][WIP] Add L0 runtime support #30789
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
Open
jkasprza
wants to merge
82
commits into
openvinotoolkit:master
Choose a base branch
from
jkasprza:gpu_l0
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+4,657
−500
Open
Changes from all commits
Commits
Show all changes
82 commits
Select commit
Hold shift + click to select a range
38f889e
Add L0 support for gpu
jkasprza ce58599
Fix L0 DPAS check
jkasprza d8283b1
Merge remote-tracking branch 'upstream/master' into gpu_l0
jkasprza f38ae58
Use copy offload only when supported
jkasprza 8aaec53
Remove dlopen for L0
jkasprza 51e581b
Merge branch 'master' of https://github.com/openvinotoolkit/openvino …
jkasprza f8eb99a
Add dep_events for l0 mem fill
jkasprza 44d0a79
Add OneDNN with L0 support
jkasprza c3b1a67
Adjust to L0 OneDNN
jkasprza 7f79b07
Disable OneDNN pooling
jkasprza 2bbe030
Merge remote-tracking branch 'upstream/master' into gpu_l0
jkasprza 0e70375
Update L0 OneDNN submodule
jkasprza 35e492d
Adjust to new OneDNN
jkasprza 6b586d3
Fix include
jkasprza afe606b
Add new OneDNN for L0
jkasprza 66a9c6c
Update L0 OneDNN submodule
jkasprza 758c022
Merge branch 'master' of https://github.com/openvinotoolkit/openvino …
jkasprza 02d4a15
Fix ze_stream impl
jkasprza 40d7e4b
Update onednn l0 submodule
jkasprza b7c56f5
Add dedicated copy queue
jkasprza ab762bf
Fix windows compilation
jkasprza 8f48750
Fix onednn_gpu submodule
jkasprza 862df7e
Handle local memory size argument for L0
jkasprza 96e70c7
Merge branch 'master' of https://github.com/openvinotoolkit/openvino …
jkasprza fedec68
Add separate onednn submodule for L0 and OCL
jkasprza 8725b28
Fix onednn include paths
jkasprza 4fa5c19
Prevent redundant opencl linking
jkasprza 933e262
Add new compute runtime l0 headers
jkasprza 3993c80
Fix includes
jkasprza 078d3a3
Add initial counter based event implementation
jkasprza 08c1555
workaround for cb event host signal
jkasprza 31311c7
Rework level zero event implementation
jkasprza e8dce15
Enable cb events for in-order queue type
jkasprza ae16177
Restore pooling impl and convolution ref impl
jkasprza 8a7b566
Fix OneDNN include paths
jkasprza 0e7c363
Move compute runtime headers to separate target
jkasprza 7b5829f
Remove redundant DNNL macro
jkasprza debf47f
Add copy offload
jkasprza 33a1736
warn if copy offload is not supported
jkasprza 37cfa39
Copy level zero headers to build dir
jkasprza 8e7c1ae
Merge branch 'master' of https://github.com/openvinotoolkit/openvino …
jkasprza 55cb68e
Update l0 onednn submodule
jkasprza 4893a28
Change L0 macro check names
jkasprza 3007f7b
Add default supported simd sizes for L0
jkasprza ddbe71b
Add L0 supported simd sizes query
jkasprza 7c01937
Add L0 interface when building kernel selector
jkasprza 707a238
Update L0 OneDNN submodule
jkasprza 7b2d8ae
L0 retrieve global cache size
jkasprza cba0d29
Add L0 build kernel API wip
jkasprza 2f855da
Add L0 kernel build logic
jkasprza 9ba3c9c
Fix style
jkasprza d0f157c
Remove OpenCL dependency when running L0
jkasprza 4ec431e
Fix OCL program build
jkasprza 3e6b368
Add gfx_ver parsing for L0
jkasprza cfdbb02
Skip L0 symbol table kernel
jkasprza 04b086a
Avoid cl_mem usage with L0 engine
jkasprza 6c6664d
Fix windows build
jkasprza a3eac10
Remove unnecessary vector during L0 mem fill
jkasprza e6480ac
Merge branch 'master' of https://github.com/openvinotoolkit/openvino …
jkasprza c76cdb2
Fix memory
jkasprza 6473aa0
Set runtime interface for kernel_selector
jkasprza 93bb04b
Remove onednn ocl include
jkasprza c621131
Fix backend compilation and remote tensor
jkasprza fadca80
Merge branch 'master' of https://github.com/openvinotoolkit/openvino …
jkasprza 8c9e855
Rename counter based events
jkasprza d377c45
Adjust event set_profiling_duration
jkasprza ca7f6cf
Remove unnecessary engine parameter
jkasprza 674556c
Update L0 OneDNN submodule
jkasprza 863ea10
Update onednn L0 submodule and fix profiling
jkasprza 0cdb6f5
Restore cpu checks in primitive_base
jkasprza 86c81b4
Reuse check_allocatable for ocl and l0
jkasprza 8621d68
Use asserts instead of throw
jkasprza 8d0b5bf
Fix get_user_context
jkasprza d64e6b6
Move common code to engine class
jkasprza 5ccd52c
Rename L0 timeout
jkasprza 786fbb6
Fix test build errors
jkasprza 4690578
Update L0 OneDNN submodule
jkasprza 206a580
Add mutex to l0 event factory
jkasprza d71ae12
Adjust ze_events naming
jkasprza 0a48846
Remove unnecessary comment
jkasprza ae5afd8
Improve engine and runtime type selection
jkasprza d964b51
Fix typo in assert
jkasprza File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,15 @@ | ||
| # Copyright (C) 2024 Intel Corporation | ||
| # SPDX-License-Identifier: Apache-2.0 | ||
| # | ||
|
|
||
| function(ov_gpu_set_runtime_interface_for TARGET_NAME) | ||
| if(GPU_RT_TYPE STREQUAL "L0") | ||
| target_compile_definitions(${TARGET_NAME} PRIVATE OV_GPU_WITH_ZE_RT=1) | ||
| target_link_libraries(${TARGET_NAME} PRIVATE LevelZero::LevelZero) | ||
| elseif(GPU_RT_TYPE STREQUAL "OCL") | ||
| target_compile_definitions(${TARGET_NAME} PRIVATE OV_GPU_WITH_OCL_RT=1) | ||
| target_link_libraries(${TARGET_NAME} PRIVATE OpenCL::OpenCL) | ||
| else() | ||
| message(FATAL_ERROR "Invalid GPU runtime type: `${GPU_RT_TYPE}` Only `L0` and `OCL` are supported") | ||
| endif() | ||
| endfunction() |
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
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
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
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
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
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
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
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
Oops, something went wrong.
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.
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.
for the record: I guess we will have single copy of onednn_gpu. Please update that before it is merged.
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.
Need to wait for uxlfoundation/oneDNN#4499 to be merged first.