-
Notifications
You must be signed in to change notification settings - Fork 769
[SYCL] Pass handler &
instead of queue across ABI for reduction utils
#18834
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
[SYCL] Pass handler &
instead of queue across ABI for reduction utils
#18834
Conversation
This is based on top of #18830, please ignore first commit during review. Also, while @intel/sycl-graphs-reviewers aren't technically owners of the reduction-related changes, it mostly affects the graph-related code path, so their review is still welcome. |
86d2491
to
442a4c2
Compare
442a4c2
to
6f81b65
Compare
Queue might be `nullptr` in case of graph, but the information this utils query is device-specific. By passing entire `handler &` and having access to graph information we'd be able to return more precise results. Another positive side-effect is that we eliminiate explicit `std::shared_ptr<queue_impl>` which is a small step forward in the ongoing refactoring efforts to prefer passing `*_impl` by raw ptr/ref with explicit `shared_from_this` whenever lifetimes need to be extended.
6f81b65
to
a580702
Compare
Rebased, not relevant anymore. @intel/sycl-graphs-reviewers review request still stands :) @slawekptak, this is ready for review. |
Initially started in intel#18830 Subsequent PRs before this final one: intel#18794 intel#18834
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.
I think this is fine since graphs at the moment don't support reductions: https://github.com/intel/llvm/blob/sycl/sycl/doc/extensions/experimental/sycl_ext_oneapi_graph.asciidoc#12-non-implemented-features-and-known-issues
Initially started in intel#18830 Subsequent PRs before this final one: intel#18794 intel#18834
Initially started in intel#18830 Subsequent PRs before this final one: intel#18794 intel#18834 intel#18748
Initially started in intel#18830 Subsequent PRs before this final one: intel#18794 intel#18834 intel#18748
Initially started in intel#18830 Subsequent PRs before this final one: intel#18794 intel#18834 intel#18748
Initially started in intel#18830 Subsequent PRs before this final one: intel#18794 intel#18834 intel#18748
Queue might be
nullptr
in case of graph, but the information theseutilitiess query is device-specific. By passing entire
handler &
and havingaccess to graph information we'd be able to return more precise results.
Another positive side-effect is that we eliminiate explicit
std::shared_ptr<queue_impl>
which is a small step forward in theongoing refactoring efforts to prefer passing
*_impl
by raw ptr/refwith explicit
shared_from_this
whenever lifetimes need to be extended.