-
Notifications
You must be signed in to change notification settings - Fork 787
[SYCL] Updated aspects list to be SYCL 2020 compliant #8751
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] Updated aspects list to be SYCL 2020 compliant #8751
Conversation
- Removed usm_restricted_shared_allocations aspect It is not a part of the SYCL 2020 specification so has been removed. - Deprecate host aspect in favour of cpu as "host" device concept removed from SYCL 2020 Updated tests to add diagnostics for deprecation warning where needed. Once the host aspect is to be removed, these tests can go back to not requiring diagnostics. - Added placeholder aspects for emulated and host_debuggable Currently both return false while while further implementation details are obtained. - Removed duplication host_debuggable aspect def - Added emulated aspect to device_has/have
Removing symbols will cause a breka in ABI, so re-added and commented to remove in future.
/verify with intel/llvm-test-suite#1685 |
Changed usm_restricted_shared_allocations from removed to deprecated. Removal would have incurred an ABI break, so deprecating, even though it's not in the SYCL 2020 specification. Host changed to remove cpu inference, just says it's deprecated now.
@@ -2,3 +2,5 @@ __SYCL_ASPECT_DEPRECATED(int64_base_atomics, 7, "use atomic64 instead") | |||
__SYCL_ASPECT_DEPRECATED(int64_extended_atomics, 8, "use atomic64 instead") | |||
// Special macro for aspects that don't have own token | |||
__SYCL_ASPECT_DEPRECATED_ALIAS(usm_system_allocator, usm_system_allocations, "use usm_system_allocations instead") | |||
__SYCL_ASPECT_DEPRECATED(usm_restricted_shared_allocations, 16, "deprecated in SYCL 2020") |
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.
@gmlueck - It looks like this is in neither SYCL 1.2.1 nor SYCL 2020. Reading the definition of it, it does not seem to have a direct alternative. Is it okay to deprecate it (and remove it in an later release) or do we need an extension to have an alternative?
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 was an aspect we had in the SYCL 2020 provisional specification, but it was dropped by the time we finalized the spec. Yes, I think it's OK to deprecate it with no alternative. I think the original definition was never very clear.
Failure on HIP target isn't related to this patch - it's to do with accessor members being deprecated. |
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.
LGTM! Would still be good to ensure that we want the deprecation of usm_restricted_shared_allocations
.
This patch updates the device aspect implementations to account for the changes made in Section 4.6.4.3 of the specification. Most changed aspects have been addresses already, so this patch specifically:
emulated
andhost_debuggable
aspects, returning false for now. These require further device- and/or driver-specific work so are left as is for now. This fixes sycl::aspect::emulated is not defined #8324usm_restricted_shared_allocations
aspect as the concept no longer exists, andhost
aspect as "host" device concept removed from SYCL 2020. Deprecated aspects will be removed in later releases.