-
Notifications
You must be signed in to change notification settings - Fork 807
[SYCL] Remove fallback assertions #18310
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] Remove fallback assertions #18310
Conversation
This commit deprecates (and removes under preview flag) the fallback assertion implementation for SYCL kernels. The expected behavior after this is that backends that do not support native asserts, as reported through the ext_oneapi_native_assert aspect, will ignore assertions in kernel code. Signed-off-by: Larsen, Steffen <[email protected]>
I believe these two tests also rely on the fallback asserts:
Or at least they used to, I'm not sure the current checks represent that intent, and they never had the macros defined. But you can see the comment for the cuda/hip unsupported. And fallback is really the only case that would make sense to test for discard events with assert since it adds extra commands that might add/use events. I've been meaning to dig further into them to re-enable them for CUDA and HIP, but if we're dropping fallback we might be able to just delete these eventually. |
What is our plan for the assert feature once the environment variable is removed? Will Or, will |
Signed-off-by: Larsen, Steffen <[email protected]>
We'd ultimately like to get rid of DiscardEvents too... |
Signed-off-by: Larsen, Steffen <[email protected]>
This seems like the safest solution to me, as it means users can still run their kernels on devices where they would run before, even if we can't do the asserts in there for them. I've updated the extension. |
Signed-off-by: Larsen, Steffen <[email protected]>
Signed-off-by: Larsen, Steffen <[email protected]>
Signed-off-by: Larsen, Steffen <[email protected]>
} | ||
return *Img; | ||
} | ||
if (!Img) |
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.
That should go before line 1531, I think.
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.
Maybe we could, but line 1531 seems to do a quick check of a cast of the pointer, so it is a little inconsequential if we do this before or after. I think the benefit of having it here is if there is some path where the decompression fails and changes Img
to nullptr
.
#define __SYCL_USE_FALLBACK_ASSERT SYCL_FALLBACK_ASSERT | ||
#else | ||
#define __SYCL_USE_FALLBACK_ASSERT 0 | ||
// MSVC doesn't support #warning and we cannot use other methods to report a |
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.
Do we have a tracker to remove this warning in the future?
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.
Sure! CMPLRLLVM-70220
Co-authored-by: Alexey Bader <[email protected]>
Please get your reviews in so we can finally merge this. |
Ping @intel/dpcpp-doc-reviewers & @intel/dpcpp-esimd-reviewers & @intel/unified-runtime-reviewers-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.
esimd lgtm!
@EuphoricThinking / @nrspruit - Would you mind having a look at this, pretty 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.
If the only change from L0 adapter side is misreporting native assert support fix, then LGTM.
@intel/llvm-gatekeepers please consider merging |
This PR prepares for removal (once preview breaking changes are promoted) of the following queue APIs: - `ext_codeplay_supports_fusion` which has been hardcoded to `false` for a while now. It is also marked as deprecated by this PR - `device_has` internal API whose only use was dropped in intel#18310
This PR prepares for removal (once preview breaking changes are promoted) of the following queue APIs: - `ext_codeplay_supports_fusion` which has been hardcoded to `false` for a while now. It is also marked as deprecated by this PR - `device_has` internal API whose only use was dropped in #18310
This commit removes the fallback assertion implementation for SYCL kernels. The expected behavior after this is that backends that do not support native asserts, as reported through the ext_oneapi_native_assert aspect, will ignore assertions in kernel code.
This commit also makes the L0 adapter report support for native assert, as it was incorrectly reporting false before.