-
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] Enable checking the result of max_num_work_groups query with exceeded launch limits on more backends (hip and opencl) #15369
[SYCL] Enable checking the result of max_num_work_groups query with exceeded launch limits on more backends (hip and opencl) #15369
Conversation
5e88e70
to
15a5ccf
Compare
See related oneapi-src/unified-runtime#2038 change. |
…xceeded launch limits on more backends (hip and opencl)
15a5ccf
to
b5d35b0
Compare
@@ -116,14 +116,14 @@ if(SYCL_UR_USE_FETCH_CONTENT) | |||
CACHE PATH "Path to external '${name}' adapter source dir" FORCE) | |||
endfunction() | |||
|
|||
set(UNIFIED_RUNTIME_REPO "https://github.com/oneapi-src/unified-runtime.git") | |||
set(UNIFIED_RUNTIME_REPO "https://github.com/GeorgeWeb/unified-runtime.git") |
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.
is this right? That the sycl product depends on your personal fork of the UR?
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.
It is a temp change for testing with oneapi-src/unified-runtime#2038. Of course it isn't intended to land like this. It will be modified back to https://github.com/oneapi-src/unified-runtime.git with the correct merged commit in oneapi-src/unified-runtime:main
after the UR portion gets merged.
if (dev.get_backend() == sycl::backend::ext_oneapi_cuda) { | ||
// Note: Level-Zero currently always returns a non-zero value. | ||
// TODO: Remove the backend condition once the Level-Zero API issue is fixed. | ||
if (dev.get_backend() != sycl::backend::ext_oneapi_level_zero) { |
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 is a small thing, but can we improve the assert message? It seems that the message we want some other developer in the future to understand is that the query SHOULD have failed (but didn't).
@intel/llvm-gatekeepers please merge |
The HIP and OpenCL backend implementations of the query had a default return
1
group implementation, which is an incorrect assumptions. They will now be marked as Unsupported with the accompanying UR chagnes (see oneapi-src/unified-runtime#2038), so for these cases thekernel_queue_specific::max_num_work_groups
launch query will rely on the fallback that returns either1
or0
groups based on hardware resource limitation checks for the kernel.