-
Notifications
You must be signed in to change notification settings - Fork 752
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] Allow alignment property to be used for group load/store #16882
Conversation
As far as I understand, another way of doing this will be to handle annotated_ptr with alignment property, and I will add that possibility separately. But currently annotated_ptr is only supported for pointers to the global address space (and here we need local address space support as well) and right now it is not clear to me how much work it requires to add local address space support to annotated_ptr and whether it makes sense. So this alternative approach gives immediate benefit for both local and global pointers. |
1e118e5
to
936ddbf
Compare
It makes possible to provide alignment<value> property to the load/store operations indicating the alignment of the pointer. It will allow to avoid expensive dynamic alignment checks.
122fab6
to
f9fec27
Compare
sycl/doc/extensions/experimental/sycl_ext_oneapi_group_load_store.asciidoc
Outdated
Show resolved
Hide resolved
sycl/doc/extensions/experimental/sycl_ext_oneapi_group_load_store.asciidoc
Show resolved
Hide resolved
I don't think this is necessary. The APIs in this extension do not currently support |
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.
Spec changes LGTM
Simplify handling of multiple address spaces and alignment checks. Additional improvement regarding alignment checks is being done here (to perform compile-time alignment check instead of expensive dynamic check): #16882 Also this PR fixes alignment requirement for local address space: 16-byte alignment is required for both load and store.
sampling_3D.cpp failure on HIP/AMD is unrelated and visible on other PRs, reported it here: #16933 |
It makes possible to provide alignment property to the load/store operations indicating the known alignment of the pointer. It will allow to avoid expensive dynamic alignment checks.