-
Notifications
You must be signed in to change notification settings - Fork 30
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
Work around sub_group load/store issues #1485
Conversation
These functions are from oneAPI sycl_ext_oneapi_group_load_store extension. https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/experimental/sycl_ext_oneapi_group_load_store.asciidoc The current implementation of these primitives seem to require certain pointer alignment. This PR adds bool template parameter to contig functors for all elementwise functions, and the elementwise_common_impl checks alignment all pointers. If any is not aligned to the expected boundary, a generic implementation is used instead of the one using sg.load/sg.store
@oleksandr-pavlyk |
View rendered docs @ https://intelpython.github.io/dpctl/pulls/1485/index.html |
Array API standard conformance tests for dpctl=0.15.1dev2=py310h15de555_24 ran successfully. |
Moves alignment.hpp into dpctl/tensor/libtensor/include/kernels Fixes a small typo in angle.hpp
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.
Assuming CI succeeds, LGTM
Array API standard conformance tests for dpctl=0.15.1dev2=py310h15de555_26 ran successfully. |
Work-around issue with sub_group::load, sub_group::store functions
These functions are from oneAPI sycl_ext_oneapi_group_load_store extension.
https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/experimental/sycl_ext_oneapi_group_load_store.asciidoc
The current implementation of these primitives seem to require certain pointer alignment.
This PR adds bool template parameter to contig functors for all elementwise functions,
and the elementwise_common_impl checks alignment all pointers. If any is not aligned to
the expected boundary, a generic implementation is used instead of the one using
sg.load
/sg.store
.