Connect buffer wrapper no_init; Use hints only for for_each#2617
Open
danhoeflinger wants to merge 61 commits intomainfrom
Open
Connect buffer wrapper no_init; Use hints only for for_each#2617danhoeflinger wants to merge 61 commits intomainfrom
danhoeflinger wants to merge 61 commits intomainfrom
Conversation
fix access modes for uninitialized apis remove unnecessary pattern Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
fix access modes for uninitialized apis remove unnecessary pattern Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com1>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
many access_modes with internal one which includes defer_to_hint Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Contributor
Author
|
/clang-format |
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Contributor
Author
|
#2550 Need to address (2) from this issue. Update: done |
…_range Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR wires a no_init flag through SYCL buffer range wrappers (so algorithms can request no_init when creating accessors) and narrows iterator “user hint” handling so that begin/end hint resolution is applied only for for_each/for_each_n (sync + async), while removing the prior make_iter_mode-based resolution elsewhere.
Changes:
- Add
_NoInitto__ranges::all_viewand propagate it into accessor creation viasycl::property_list. - Introduce
__pattern_for_each/__pattern_for_each_n(and async variants) that defer tosycl_iteratorembedded access hints; update glue to call these new patterns. - Remove
iter_mode_resolver/make_iter_modeinfrastructure from the SYCL backend and stop using it in algorithms.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| include/oneapi/dpl/pstl/hetero/dpcpp/utils_ranges_sycl.h | Adds _NoInit to all_view, plumbs properties into accessor creation, and implements “defer to user hint” mode resolution for for_each. |
| include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h | Removes iter_mode_resolver / make_iter_mode implementation. |
| include/oneapi/dpl/pstl/hetero/algorithm_impl_hetero.h | Adds hetero __pattern_for_each(_n) wrappers that enable hint resolution only for for_each APIs; removes make_iter_mode call sites. |
| include/oneapi/dpl/pstl/glue_algorithm_impl.h | Routes for_each / for_each_n to the new __pattern_for_each(_n) entry points. |
| include/oneapi/dpl/pstl/algorithm_impl.h | Adds generic (non-hetero) __pattern_for_each(_n) wrappers that forward to existing walk1 patterns. |
| include/oneapi/dpl/pstl/algorithm_fwd.h | Adds forward declarations for __pattern_for_each and __pattern_for_each_n. |
| include/oneapi/dpl/internal/async_impl/glue_async_impl.h | Updates for_each_async to call __pattern_for_each_async. |
| include/oneapi/dpl/internal/async_impl/async_impl_hetero.h | Adds hetero __pattern_for_each_async wrapper enabling hint resolution; removes make_iter_mode usage in async fill. |
| include/oneapi/dpl/experimental/kt/internal/esimd_radix_sort_utils.h | Updates helper overload to match the new all_view template parameter list. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Dan Hoeflinger <dan.hoeflinger@intel.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Connect
no_initproperty to sycl buffer accessors for buffer wrappers.Use hints from
begin/endonly forfor_eachAPIs. Fully removemake_iter_moderesolution (ignore hints for all other APIs).