Add proper bounded output support to set-algorithms from oneapi::dpl::ranges namespace with hetero policies#2681
Closed
SergeyKopienko wants to merge 1245 commits into
Conversation
…n_scan.h - redesign class __scan_stop_pos_initial_value::create()
…n_scan.h - fix logic error in __write_if_in_bounds()
… into struct __scoped_destroyer
…n_scan.h - introduce struct __parallel_reduce_then_scan_scan_submitter::__create_scoped_destroyer() and renames
…n_scan.h - fix error in struct __write_to_id_if_else::operator()
…n_scan.h - extract struct __parallel_reduce_then_scan_scan_submitter::__process_oob_and_final_pos()
…n_scan.h - renames in struct __parallel_reduce_then_scan_scan_submitter : __oob_detection_enabled -> __oob_replay_enabled
…n_scan.h - extract struct __parallel_reduce_then_scan_scan_submitter::__init_stop_pos_storage()
…n_scan.h - fix error in replay logic for OOB source pos evaluation and work with corresponding SLM-based container
…n_scan.h - remove static_assert(false) for investigation of call chains
…n_scan.h - fix compile error : unused variables
…t_union_op + __parallel_tag
…t extra changes: required to fix in the separate PR
…ign returns type of __parallel_set_op + oneapi::dpl::__internal::__device_backend_tag to avoid extra changes in calling code
…turns type of __parallel_set_op + oneapi::dpl::__internal::__device_backend_tag to avoid extra changes in calling code
…arallel_set_union_op + __parallel_tag which looks incorrect
… change from __pattern_partition_copy + __hetero_tag
…n_scan.h - let's create container for source data indexes only for one WI in which OOB has been reached
…n_scan.h - using oneapi::dpl::__internal::__tuple_max_sentinel in the code
…n_scan.h - re-design SLM-based buffer for source range indexes to use only in one WI which reached OOB position
… using std::ranges::copy_n() in the code
…'s second implementation _SetOpDiscardIterator
…s_and_size_n() -> __bounds_and_size_n()
…r std::ranges::in_in_out_result<...>() and remove __get_reached_in1_in2_out() + __get_reached_out() methods.
…unused type _RandomAccessIteratorOut in __pattern_set_difference + __parallel_tag
…NCE_CPP26_RESULT from CMake options
…t_difference_result()
… remove extra local variables
… remove extra local variables (__remaining_capacity1, __remaining_capacity2 -> __remaining_capacity)
…me variables for consistency
…j from test/support/utils.h to test/general/implementation_details/test_set_op_details.pass.cpp
…x review comment: simplify struct SetDataItemProj::operator()
…ruct P2::operator<<
…ko/support_bounded_output_in_transform_reduce_and_scan_hetero # Conflicts: # include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h # test/parallel_api/ranges/std_ranges_set_difference.pass.cpp # test/parallel_api/ranges/std_ranges_set_intersection.pass.cpp # test/parallel_api/ranges/std_ranges_set_symmetric_difference.pass.cpp # test/support/test_config.h
…e_and_scan_hetero' into dev/skopienko/support_bounded_output_in_transform_reduce_and_scan_hetero_copy_if
…ENCE_CPP26_RESULT
…ko/support_bounded_output_in_transform_reduce_and_scan_hetero
…e_and_scan_hetero' into dev/skopienko/support_bounded_output_in_transform_reduce_and_scan_hetero_copy_if
Contributor
Author
|
The future development will continue in the PR #2721 |
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.
ATTENTION for now the changes from this PR includes all changes from #2569 !!!
Merge plan:
oneapi::dpl::rangesnamespace with CPU policies #2569What has been done in this PR
set-operations fromoneapi::dpl::rangesnamespace for bounded output (for hetero-policies);set-operations fromoneapi::dpl::rangesnamespace (for hetero-policies);onedplrange-based algorithms which are based on__parallel_reduce_then_scan_copypattern in bounded output case:ranges::copy_if,ranges::unique_copy