Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
213 commits
Select commit Hold shift + click to select a range
3e83786
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
62b4da7
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
71e6661
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
33cfdf4
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
ec9461d
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
da0c816
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
ca00220
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
77376ed
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
e54ba10
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
6b30a46
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
b2383e6
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
0aadb2e
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
92202fa
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
805ff2b
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
e98a152
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
f411036
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
3fe9c8c
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
bc6b8e4
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
31a5a8f
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
c7bb1f1
Remove _ExecutionPolicy template param from oneapi::dpl::__par_backen…
SergeyKopienko Mar 31, 2025
4525d4c
Remove _ExecutionPolicy template param from oneapi::dpl::__par_backen…
SergeyKopienko Mar 31, 2025
acd32b6
Try to avoid declare sycl::queue __q as mutable in __result_and_scrat…
SergeyKopienko Mar 31, 2025
bcb1cc8
Small refactoring of __result_and_scratch_storage
SergeyKopienko Mar 31, 2025
fe32b85
Apply GitHUB clang format
SergeyKopienko Mar 31, 2025
a57adf9
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
4d9cf06
Mark lambdas to move in ./include
SergeyKopienko Mar 24, 2025
8b142a8
Move lambda definitions outside of template code in ./include
SergeyKopienko Mar 31, 2025
5813665
Remove KSATODO
SergeyKopienko Mar 31, 2025
9cfca2e
Apply GitHUB clang format
SergeyKopienko Mar 31, 2025
b77503c
include/oneapi/dpl/internal/binary_search_impl.h - rename __lower_bou…
SergeyKopienko Mar 31, 2025
72edc0b
include/oneapi/dpl/internal/binary_search_impl.h - rename __upper_bou…
SergeyKopienko Mar 31, 2025
ca01dac
include/oneapi/dpl/internal/binary_search_impl.h - rename __binary_se…
SergeyKopienko Mar 31, 2025
d44f303
include/oneapi/dpl/pstl/hetero/algorithm_impl_hetero.h - rename __pat…
SergeyKopienko Mar 31, 2025
7b3e2be
include/oneapi/dpl/pstl/hetero/algorithm_impl_hetero.h - rename __pat…
SergeyKopienko Mar 31, 2025
4332d89
Specify bricks by std::decay_t<ExecutionPolicy>
SergeyKopienko Mar 27, 2025
396c354
Remove _ExecutionPolicy from __brick_copy_n
SergeyKopienko Mar 27, 2025
8ebe2e0
Remove _ExecutionPolicy from __brick_copy
SergeyKopienko Mar 27, 2025
9998b54
Remove _ExecutionPolicy from __brick_move
SergeyKopienko Mar 27, 2025
f6c49d4
Remove _ExecutionPolicy from __brick_move_destroy
SergeyKopienko Mar 27, 2025
0d4ecea
Remove _ExecutionPolicy from __brick_fill
SergeyKopienko Mar 27, 2025
f1f4f46
Remove _ExecutionPolicy from __brick_fill_n
SergeyKopienko Mar 27, 2025
459fae3
Remove _ExecutionPolicy from __early_exit_find_or
SergeyKopienko Mar 27, 2025
205589e
Remove _ExecutionPolicy from walk_n
SergeyKopienko Mar 27, 2025
41a58b7
Remove _ExecutionPolicy from walk1_vector_or_scalar
SergeyKopienko Mar 27, 2025
04f6ac3
Remove _ExecutionPolicy from walk2_vectors_or_scalars
SergeyKopienko Mar 27, 2025
1c2e96c
Remove _ExecutionPolicy from walk3_vectors_or_scalars
SergeyKopienko Mar 27, 2025
5c79f81
Remove _ExecutionPolicy from walk_adjacent_difference
SergeyKopienko Mar 27, 2025
55c8330
Remove _ExecutionPolicy from transform_reduce
SergeyKopienko Mar 27, 2025
f53432a
Remove _ExecutionPolicy from reduce_over_group
SergeyKopienko Mar 27, 2025
a19eca9
Remove _ExecutionPolicy from single_match_pred_by_idx
SergeyKopienko Mar 27, 2025
4fe715b
Remove _ExecutionPolicy from single_match_pred
SergeyKopienko Mar 27, 2025
e006784
Remove _ExecutionPolicy from multiple_match_pred
SergeyKopienko Mar 27, 2025
6718fd1
Remove _ExecutionPolicy from n_elem_match_pred
SergeyKopienko Mar 27, 2025
f34f434
Remove _ExecutionPolicy from first_match_pred
SergeyKopienko Mar 27, 2025
14963b6
Remove _ExecutionPolicy from __brick_includes
SergeyKopienko Mar 27, 2025
6e98b72
Remove _ExecutionPolicy from __brick_set_op
SergeyKopienko Mar 27, 2025
7b73524
Remove _ExecutionPolicy from __brick_shift_left
SergeyKopienko Mar 27, 2025
36bd23c
Remove _ExecutionPolicy from __brick_swap
SergeyKopienko Mar 27, 2025
0421fe3
Remove _ExecutionPolicy from __scan
SergeyKopienko Mar 27, 2025
b8ae2de
test/general/implementation_details/device_copyable.pass.cpp - exclud…
SergeyKopienko Mar 31, 2025
8120dcd
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h - fix er…
SergeyKopienko Mar 31, 2025
66e8711
Merge branch 'dev/skopienko/move_lambdas_out' into dev/skopienko/remo…
SergeyKopienko Apr 1, 2025
4a3e8ea
Merge branch 'dev/skopienko/remove_execution_policy_from_sycl_utiliti…
SergeyKopienko Apr 1, 2025
9a6092f
Merge branch 'dev/skopienko/remove_execution_policy_from_bricks' into…
SergeyKopienko Apr 1, 2025
ece9480
include/oneapi/dpl/pstl/omp/parallel_scan.h - comment unused paramete…
SergeyKopienko Apr 1, 2025
0a14f0e
Merge branch dev/skopienko/pass_sycl_queue_into_submitters - implemen…
SergeyKopienko Apr 1, 2025
a197499
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h - implem…
SergeyKopienko Apr 1, 2025
5636b76
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h - implem…
SergeyKopienko Apr 1, 2025
dcabee7
Implement oneapi::dpl::__par_backend_hetero::__parallel_find_or on sy…
SergeyKopienko Apr 1, 2025
0d3fd1c
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h - implem…
SergeyKopienko Apr 1, 2025
32c92ee
Implement __parallel_transform_scan_single_group on sycl::queue
SergeyKopienko Apr 1, 2025
3b1baff
Implement __parallel_unique_copy on sycl::queue
SergeyKopienko Apr 1, 2025
d9743d5
Implement __parallel_partition_copy on sycl::queue
SergeyKopienko Apr 1, 2025
28427e9
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h - implem…
SergeyKopienko Apr 1, 2025
b0a1264
Implement __parallel_partial_sort on sycl::queue
SergeyKopienko Apr 1, 2025
6be77f8
Implement _CustomName on sycl::queue
SergeyKopienko Apr 1, 2025
07366ff
Implement __parallel_transform_scan on sycl::queue (in hetero backend)
SergeyKopienko Apr 2, 2025
5758efd
Implement __parallel_set_op on sycl::queue (in hetero backend)
SergeyKopienko Apr 2, 2025
fa3bbf2
Implement __parallel_find on sycl::queue (in hetero backend)
SergeyKopienko Apr 2, 2025
e9ff518
Implement __parallel_stable_sort on sycl::queue (in hetero backend)
SergeyKopienko Apr 2, 2025
271bae5
Implement __parallel_for on sycl::queue (in hetero backend)
SergeyKopienko Apr 2, 2025
1aa5bd2
Implement __parallel_reduce_by_segment_fallback on sycl::queue (in he…
SergeyKopienko Apr 2, 2025
3c8c473
Implement __parallel_reduce_by_segment on sycl::queue (in hetero back…
SergeyKopienko Apr 2, 2025
34e145d
Implement __parallel_merge on sycl::queue (in hetero backend)
SergeyKopienko Apr 2, 2025
54f8025
Implement __parallel_transform_reduce on sycl::queue (in hetero backend)
SergeyKopienko Apr 2, 2025
5858762
Mark lambdas to move in ./include
SergeyKopienko Mar 24, 2025
26ad4f5
Move lambda definitions outside of template code in ./include
SergeyKopienko Mar 31, 2025
a4d71d2
Remove KSATODO
SergeyKopienko Mar 31, 2025
b2074a8
Apply GitHUB clang format
SergeyKopienko Mar 31, 2025
a7b8092
include/oneapi/dpl/internal/binary_search_impl.h - rename __lower_bou…
SergeyKopienko Mar 31, 2025
3205e61
include/oneapi/dpl/internal/binary_search_impl.h - rename __upper_bou…
SergeyKopienko Mar 31, 2025
c01afeb
include/oneapi/dpl/internal/binary_search_impl.h - rename __binary_se…
SergeyKopienko Mar 31, 2025
b69f4b0
include/oneapi/dpl/pstl/hetero/algorithm_impl_hetero.h - rename __pat…
SergeyKopienko Mar 31, 2025
c0ca621
include/oneapi/dpl/pstl/hetero/algorithm_impl_hetero.h - rename __pat…
SergeyKopienko Mar 31, 2025
1ab7ce9
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
2e3d286
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
d9c32b2
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
cf3265c
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
7a45b8c
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
babf3f6
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
e42d467
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
d9efb58
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
77bd0d1
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
fb215d6
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
f897f8b
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
05e7282
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
86bab9f
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
48f8b0d
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
bd9a0f4
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
291e2c8
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
bff7c46
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
71fc959
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
ad70126
Remove _ExecutionPolicy template param from oneapi::dpl::__internal::…
SergeyKopienko Mar 31, 2025
e8f47be
Remove _ExecutionPolicy template param from oneapi::dpl::__par_backen…
SergeyKopienko Mar 31, 2025
d44106d
Remove _ExecutionPolicy template param from oneapi::dpl::__par_backen…
SergeyKopienko Mar 31, 2025
e0bad6a
Try to avoid declare sycl::queue __q as mutable in __result_and_scrat…
SergeyKopienko Mar 31, 2025
df22e7c
Small refactoring of __result_and_scratch_storage
SergeyKopienko Mar 31, 2025
4a59c4f
Apply GitHUB clang format
SergeyKopienko Mar 31, 2025
3ff2ea6
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Mar 31, 2025
eddb7d0
Specify bricks by std::decay_t<ExecutionPolicy>
SergeyKopienko Mar 27, 2025
b5ae449
Remove _ExecutionPolicy from __brick_copy_n
SergeyKopienko Mar 27, 2025
e095084
Remove _ExecutionPolicy from __brick_copy
SergeyKopienko Mar 27, 2025
eee3fb1
Remove _ExecutionPolicy from __brick_move
SergeyKopienko Mar 27, 2025
dc58478
Remove _ExecutionPolicy from __brick_move_destroy
SergeyKopienko Mar 27, 2025
df1a0c4
Remove _ExecutionPolicy from __brick_fill
SergeyKopienko Mar 27, 2025
d179812
Remove _ExecutionPolicy from __brick_fill_n
SergeyKopienko Mar 27, 2025
9118517
Remove _ExecutionPolicy from __early_exit_find_or
SergeyKopienko Mar 27, 2025
8db4c8c
Remove _ExecutionPolicy from walk_n
SergeyKopienko Mar 27, 2025
e8436d8
Remove _ExecutionPolicy from walk1_vector_or_scalar
SergeyKopienko Mar 27, 2025
9788d43
Remove _ExecutionPolicy from walk2_vectors_or_scalars
SergeyKopienko Mar 27, 2025
1defc2c
Remove _ExecutionPolicy from walk3_vectors_or_scalars
SergeyKopienko Mar 27, 2025
da128ef
Remove _ExecutionPolicy from walk_adjacent_difference
SergeyKopienko Mar 27, 2025
8e75ac4
Remove _ExecutionPolicy from transform_reduce
SergeyKopienko Mar 27, 2025
1dc5c6f
Remove _ExecutionPolicy from reduce_over_group
SergeyKopienko Mar 27, 2025
a929f69
Remove _ExecutionPolicy from single_match_pred_by_idx
SergeyKopienko Mar 27, 2025
6ac88ea
Remove _ExecutionPolicy from single_match_pred
SergeyKopienko Mar 27, 2025
35ae443
Remove _ExecutionPolicy from multiple_match_pred
SergeyKopienko Mar 27, 2025
e6a077e
Remove _ExecutionPolicy from n_elem_match_pred
SergeyKopienko Mar 27, 2025
af00191
Remove _ExecutionPolicy from first_match_pred
SergeyKopienko Mar 27, 2025
79f5344
Remove _ExecutionPolicy from __brick_includes
SergeyKopienko Mar 27, 2025
842e30b
Remove _ExecutionPolicy from __brick_set_op
SergeyKopienko Mar 27, 2025
6bd6152
Remove _ExecutionPolicy from __brick_shift_left
SergeyKopienko Mar 27, 2025
2041852
Remove _ExecutionPolicy from __brick_swap
SergeyKopienko Mar 27, 2025
3cba3e6
Remove _ExecutionPolicy from __scan
SergeyKopienko Mar 27, 2025
6e689bf
test/general/implementation_details/device_copyable.pass.cpp - exclud…
SergeyKopienko Mar 31, 2025
2ec801c
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h - fix er…
SergeyKopienko Mar 31, 2025
8a38386
Merge branch 'dev/skopienko/move_lambdas_out' into dev/skopienko/remo…
SergeyKopienko Apr 2, 2025
ab027c8
Merge branch 'dev/skopienko/remove_execution_policy_from_sycl_utiliti…
SergeyKopienko Apr 2, 2025
188c4a2
Merge branch 'dev/skopienko/remove_execution_policy_from_bricks' into…
SergeyKopienko Apr 2, 2025
0c0104c
Merge branch 'dev/skopienko/remove_execution_policy_from_sycl_backend…
SergeyKopienko Apr 2, 2025
aa52114
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h - fix co…
SergeyKopienko Apr 3, 2025
09c2858
Partially apply GitHUB clang format
SergeyKopienko Apr 3, 2025
afd37cb
include/oneapi/dpl/pstl/hetero/algorithm_impl_hetero.h - fix compile …
SergeyKopienko Apr 3, 2025
6fa154f
include/oneapi/dpl/internal/binary_search_impl.h - fix compile error
SergeyKopienko Apr 3, 2025
689901f
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_fpga.h - f…
SergeyKopienko Apr 3, 2025
de81f5d
Partially restore functional because we should have enroll factor fro…
SergeyKopienko Apr 3, 2025
20b41ea
Fix __policy_kernel_name usage
SergeyKopienko Apr 3, 2025
b75beae
Partially apply GitHUB clang format
SergeyKopienko Apr 3, 2025
d86f3d2
Merge branch 'main' into dev/skopienko/remove_execution_policy_from_s…
SergeyKopienko Apr 4, 2025
b444d7c
Merge branch 'main' into dev/skopienko/remove_execution_policy_from_s…
SergeyKopienko Apr 7, 2025
180b340
Merge branch 'main' into dev/skopienko/remove_execution_policy_from_s…
SergeyKopienko Apr 8, 2025
03de2f7
Merge branch 'main' into dev/skopienko/remove_execution_policy_from_s…
SergeyKopienko Apr 9, 2025
bf5fad5
Merge branch 'main' into dev/skopienko/remove_execution_policy_from_s…
SergeyKopienko Apr 10, 2025
6e72939
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h - remove…
SergeyKopienko Apr 10, 2025
086934f
Merge branch 'main' into dev/skopienko/remove_execution_policy_from_s…
SergeyKopienko Apr 10, 2025
18f1a1a
Merge branch 'main' into dev/skopienko/3_remove_execution_policy_from…
SergeyKopienko Apr 14, 2025
182c5ee
Apply GitHUB clang format
SergeyKopienko Apr 14, 2025
4b001ae
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_histogram.…
SergeyKopienko Apr 14, 2025
3336737
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_merge_sort…
SergeyKopienko Apr 14, 2025
5a6a33f
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_merge_sort…
SergeyKopienko Apr 14, 2025
f6ed23e
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h - fix co…
SergeyKopienko Apr 14, 2025
14d9709
Merge branch 'main' into dev/skopienko/3_remove_execution_policy_from…
SergeyKopienko Apr 14, 2025
8d8f08f
include/oneapi/dpl/pstl/glue_algorithm_impl.h - remove extra changes …
SergeyKopienko Apr 14, 2025
5aadf19
include/oneapi/dpl/pstl/glue_algorithm_impl.h - remove extra changes …
SergeyKopienko Apr 14, 2025
f9b152a
Revert some extra changes
SergeyKopienko Apr 14, 2025
1e03c72
include/oneapi/dpl/pstl/glue_algorithm_ranges_impl.h - remove extra c…
SergeyKopienko Apr 14, 2025
a6a6f85
include/oneapi/dpl/experimental/kt/single_pass_scan.h - fix __single_…
SergeyKopienko Apr 14, 2025
9621acb
include/oneapi/dpl/experimental/kt/single_pass_scan.h - fix inclusive…
SergeyKopienko Apr 14, 2025
6e7fb4a
include/oneapi/dpl/internal/binary_search_impl.h - remove extra changes
SergeyKopienko Apr 14, 2025
7e138ef
include/oneapi/dpl/internal/binary_search_impl.h - remove extra changes
SergeyKopienko Apr 14, 2025
3b8d973
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - remov…
SergeyKopienko Apr 14, 2025
070b951
include/oneapi/dpl/pstl/glue_memory_impl.h - remove extra changes
SergeyKopienko Apr 14, 2025
c959e9f
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - remov…
SergeyKopienko Apr 14, 2025
457e947
include/oneapi/dpl/pstl/glue_algorithm_impl.h - remove extra changes
SergeyKopienko Apr 14, 2025
a755b55
include/oneapi/dpl/pstl/glue_memory_impl.h - remove extra changes
SergeyKopienko Apr 14, 2025
59bb814
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h - fix co…
SergeyKopienko Apr 14, 2025
0938541
include/oneapi/dpl/pstl/hetero/algorithm_ranges_impl_hetero.h - fix r…
SergeyKopienko Apr 14, 2025
bd11477
Apply GitHUB clang format
SergeyKopienko Apr 14, 2025
a8ffea2
Merge branch 'main' into dev/skopienko/3_remove_execution_policy_from…
SergeyKopienko Apr 15, 2025
8e44a6a
Merge branch 'main' into dev/skopienko/3_remove_execution_policy_from…
SergeyKopienko Apr 15, 2025
92166e1
Merge branch 'main' into dev/skopienko/3_remove_execution_policy_from…
SergeyKopienko Apr 16, 2025
5e3588a
Update include/oneapi/dpl/internal/scan_by_segment_impl.h
SergeyKopienko Apr 16, 2025
6a4cc1e
include/oneapi/dpl/pstl/glue_memory_impl.h - fix review comment: add …
SergeyKopienko Apr 16, 2025
e9fd46e
Fix review comment: rename __pattern_minmax_element__reduce_fn to __p…
SergeyKopienko Apr 16, 2025
10c9c05
Fix review comment: remove extra :: from `/*is_commutative*/` paramet…
SergeyKopienko Apr 16, 2025
05542af
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h - fix re…
SergeyKopienko Apr 16, 2025
b68011c
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_histogram.…
SergeyKopienko Apr 16, 2025
b12873d
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_radix_sort…
SergeyKopienko Apr 16, 2025
77b3b4e
Apply GitHUB clang format
SergeyKopienko Apr 16, 2025
453f63d
include/oneapi/dpl/pstl/hetero/algorithm_impl_hetero.h - remove extra…
SergeyKopienko Apr 16, 2025
3ae5ad7
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h - remove…
SergeyKopienko Apr 16, 2025
420f29e
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_reduce_by_…
SergeyKopienko Apr 16, 2025
53637a1
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_utils.h - …
SergeyKopienko Apr 16, 2025
578840f
include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl.h - fix re…
SergeyKopienko Apr 16, 2025
adad4a6
Revert "include/oneapi/dpl/pstl/hetero/dpcpp/parallel_backend_sycl_ut…
SergeyKopienko Apr 16, 2025
65279b6
Merge branch 'main' into dev/skopienko/3_remove_execution_policy_from…
SergeyKopienko Apr 16, 2025
5f14fdf
Replace ::std to std in changed lines of code
SergeyKopienko Apr 16, 2025
b439db7
Replace ::std to std in changed lines of code
SergeyKopienko Apr 16, 2025
940f89f
Replace ::std to std in changed lines of code
SergeyKopienko Apr 16, 2025
061a8db
Replace ::std to std in changed lines of code
SergeyKopienko Apr 16, 2025
882b523
include/oneapi/dpl/pstl/hetero/algorithm_impl_hetero.h - remove extra…
SergeyKopienko Apr 17, 2025
85a529e
Apply GitHUB clang format
SergeyKopienko Apr 17, 2025
7c66e48
Merge branch 'main' into dev/skopienko/3_remove_execution_policy_from…
SergeyKopienko Apr 17, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 10 additions & 9 deletions include/oneapi/dpl/experimental/kt/esimd_radix_sort.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ namespace oneapi::dpl::experimental::kt::gpu::esimd
// TODO: make sure to provide sufficient diagnostic if input does not allow either reading or writing
template <bool __is_ascending = true, ::std::uint8_t __radix_bits = 8, typename _KernelParam, typename _KeysRng>
std::enable_if_t<!oneapi::dpl::__internal::__is_iterator_type_v<_KeysRng>, sycl::event>
radix_sort(sycl::queue __q, _KeysRng&& __keys_rng, _KernelParam __param = {})
radix_sort(sycl::queue& __q, _KeysRng&& __keys_rng, _KernelParam __param = {})
{
__impl::__check_esimd_sort_params<__radix_bits, _KernelParam::data_per_workitem, _KernelParam::workgroup_size>();

Expand All @@ -38,7 +38,7 @@ radix_sort(sycl::queue __q, _KeysRng&& __keys_rng, _KernelParam __param = {})

template <bool __is_ascending = true, ::std::uint8_t __radix_bits = 8, typename _KernelParam, typename _KeysIterator>
std::enable_if_t<oneapi::dpl::__internal::__is_iterator_type_v<_KeysIterator>, sycl::event>
radix_sort(sycl::queue __q, _KeysIterator __keys_first, _KeysIterator __keys_last, _KernelParam __param = {})
radix_sort(sycl::queue& __q, _KeysIterator __keys_first, _KeysIterator __keys_last, _KernelParam __param = {})
{
__impl::__check_esimd_sort_params<__radix_bits, _KernelParam::data_per_workitem, _KernelParam::workgroup_size>();

Expand All @@ -54,7 +54,7 @@ radix_sort(sycl::queue __q, _KeysIterator __keys_first, _KeysIterator __keys_las
template <bool __is_ascending = true, ::std::uint8_t __radix_bits = 8, typename _KernelParam, typename _KeysRng,
typename _ValsRng>
std::enable_if_t<!oneapi::dpl::__internal::__is_iterator_type_v<_KeysRng>, sycl::event>
radix_sort_by_key(sycl::queue __q, _KeysRng&& __keys_rng, _ValsRng&& __vals_rng, _KernelParam __param = {})
radix_sort_by_key(sycl::queue& __q, _KeysRng&& __keys_rng, _ValsRng&& __vals_rng, _KernelParam __param = {})
{
__impl::__check_esimd_sort_params<__radix_bits, _KernelParam::data_per_workitem, _KernelParam::workgroup_size>();

Expand All @@ -69,7 +69,7 @@ radix_sort_by_key(sycl::queue __q, _KeysRng&& __keys_rng, _ValsRng&& __vals_rng,
template <bool __is_ascending = true, ::std::uint8_t __radix_bits = 8, typename _KernelParam, typename _KeysIterator,
typename _ValsIterator>
std::enable_if_t<oneapi::dpl::__internal::__is_iterator_type_v<_KeysIterator>, sycl::event>
radix_sort_by_key(sycl::queue __q, _KeysIterator __keys_first, _KeysIterator __keys_last, _ValsIterator __vals_first,
radix_sort_by_key(sycl::queue& __q, _KeysIterator __keys_first, _KeysIterator __keys_last, _ValsIterator __vals_first,
_KernelParam __param = {})
{
__impl::__check_esimd_sort_params<__radix_bits, _KernelParam::data_per_workitem, _KernelParam::workgroup_size>();
Expand All @@ -89,7 +89,7 @@ radix_sort_by_key(sycl::queue __q, _KeysIterator __keys_first, _KeysIterator __k
template <bool __is_ascending = true, ::std::uint8_t __radix_bits = 8, typename _KernelParam, typename _KeysRng1,
typename _KeysRng2>
std::enable_if_t<!oneapi::dpl::__internal::__is_iterator_type_v<_KeysRng1>, sycl::event>
radix_sort(sycl::queue __q, _KeysRng1&& __keys_rng, _KeysRng2&& __keys_rng_out, _KernelParam __param = {})
radix_sort(sycl::queue& __q, _KeysRng1&& __keys_rng, _KeysRng2&& __keys_rng_out, _KernelParam __param = {})
{
__impl::__check_esimd_sort_params<__radix_bits, _KernelParam::data_per_workitem, _KernelParam::workgroup_size>();
if (__keys_rng.size() == 0)
Expand All @@ -104,7 +104,7 @@ radix_sort(sycl::queue __q, _KeysRng1&& __keys_rng, _KeysRng2&& __keys_rng_out,
template <bool __is_ascending = true, ::std::uint8_t __radix_bits = 8, typename _KernelParam, typename _KeysIterator1,
typename _KeysIterator2>
std::enable_if_t<oneapi::dpl::__internal::__is_iterator_type_v<_KeysIterator1>, sycl::event>
radix_sort(sycl::queue __q, _KeysIterator1 __keys_first, _KeysIterator1 __keys_last, _KeysIterator2 __keys_out_first,
radix_sort(sycl::queue& __q, _KeysIterator1 __keys_first, _KeysIterator1 __keys_last, _KeysIterator2 __keys_out_first,
_KernelParam __param = {})
{
__impl::__check_esimd_sort_params<__radix_bits, _KernelParam::data_per_workitem, _KernelParam::workgroup_size>();
Expand All @@ -126,7 +126,7 @@ radix_sort(sycl::queue __q, _KeysIterator1 __keys_first, _KeysIterator1 __keys_l
template <bool __is_ascending = true, ::std::uint8_t __radix_bits = 8, typename _KernelParam, typename _KeysRng1,
typename _ValsRng1, typename _KeysRng2, typename _ValsRng2>
std::enable_if_t<!oneapi::dpl::__internal::__is_iterator_type_v<_KeysRng1>, sycl::event>
radix_sort_by_key(sycl::queue __q, _KeysRng1&& __keys_rng, _ValsRng1&& __vals_rng, _KeysRng2&& __keys_out_rng,
radix_sort_by_key(sycl::queue& __q, _KeysRng1&& __keys_rng, _ValsRng1&& __vals_rng, _KeysRng2&& __keys_out_rng,
_ValsRng2&& __vals_out_rng, _KernelParam __param = {})
{
__impl::__check_esimd_sort_params<__radix_bits, _KernelParam::data_per_workitem, _KernelParam::workgroup_size>();
Expand All @@ -144,8 +144,9 @@ radix_sort_by_key(sycl::queue __q, _KeysRng1&& __keys_rng, _ValsRng1&& __vals_rn
template <bool __is_ascending = true, ::std::uint8_t __radix_bits = 8, typename _KernelParam, typename _KeysIterator1,
typename _ValsIterator1, typename _KeysIterator2, typename _ValsIterator2>
std::enable_if_t<oneapi::dpl::__internal::__is_iterator_type_v<_KeysIterator1>, sycl::event>
radix_sort_by_key(sycl::queue __q, _KeysIterator1 __keys_first, _KeysIterator1 __keys_last, _ValsIterator1 __vals_first,
_KeysIterator2 __keys_out_first, _ValsIterator2 __vals_out_first, _KernelParam __param = {})
radix_sort_by_key(sycl::queue& __q, _KeysIterator1 __keys_first, _KeysIterator1 __keys_last,
_ValsIterator1 __vals_first, _KeysIterator2 __keys_out_first, _ValsIterator2 __vals_out_first,
_KernelParam __param = {})
{
__impl::__check_esimd_sort_params<__radix_bits, _KernelParam::data_per_workitem, _KernelParam::workgroup_size>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class __esimd_radix_sort_onesweep_copyback_by_key;
template <typename _KernelName, bool __is_ascending, ::std::uint8_t __radix_bits, ::std::uint16_t __data_per_work_item,
::std::uint16_t __work_group_size, typename _RngPack>
sycl::event
__one_wg(sycl::queue __q, _RngPack&& __pack, ::std::size_t __n)
__one_wg(sycl::queue& __q, _RngPack&& __pack, std::size_t __n)
{
using _KeyT = typename ::std::decay_t<_RngPack>::_KeyT;
using _EsimRadixSortKernel =
Expand All @@ -64,7 +64,7 @@ __one_wg(sycl::queue __q, _RngPack&& __pack, ::std::size_t __n)
template <typename _KernelName, bool __is_ascending, ::std::uint8_t __radix_bits, ::std::uint16_t __data_per_work_item,
::std::uint16_t __work_group_size, typename _RngPack1, typename _RngPack2>
sycl::event
__one_wg(sycl::queue __q, _RngPack1&& __pack_in, _RngPack2&& __pack_out, ::std::size_t __n)
__one_wg(sycl::queue& __q, _RngPack1&& __pack_in, _RngPack2&& __pack_out, std::size_t __n)
{
using _KeyT = typename ::std::decay_t<_RngPack1>::_KeyT;
using _EsimRadixSortKernel =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ struct __radix_sort_one_wg_submitter<__is_ascending, __radix_bits, __data_per_wo
{
template <typename _RngPack1, typename _RngPack2>
sycl::event
operator()(sycl::queue __q, _RngPack1&& __pack_in, _RngPack2&& __pack_out, ::std::size_t __n) const
operator()(sycl::queue& __q, _RngPack1&& __pack_in, _RngPack2&& __pack_out, std::size_t __n) const
{
sycl::nd_range<1> __nd_range{__work_group_size, __work_group_size};
return __q.submit([&](sycl::handler& __cgh) {
Expand Down
42 changes: 21 additions & 21 deletions include/oneapi/dpl/experimental/kt/single_pass_scan.h
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ struct __lookback_init_submitter<_FlagType, _Type, _BinaryOp,
{
template <typename _StatusFlags, typename _PartialValues>
sycl::event
operator()(sycl::queue __q, _StatusFlags&& __status_flags, _PartialValues&& __partial_values,
operator()(sycl::queue& __q, _StatusFlags&& __status_flags, _PartialValues&& __partial_values,
std::size_t __status_flags_size, std::uint16_t __status_flag_padding) const
{
return __q.submit([&](sycl::handler& __hdl) {
Expand Down Expand Up @@ -276,8 +276,8 @@ struct __lookback_submitter<__data_per_workitem, __workgroup_size, _Type, _FlagT

template <typename _InRng, typename _OutRng, typename _BinaryOp, typename _StatusFlags, typename _StatusValues>
sycl::event
operator()(sycl::queue __q, sycl::event __prev_event, _InRng&& __in_rng, _OutRng&& __out_rng, _BinaryOp __binary_op,
std::size_t __n, _StatusFlags&& __status_flags, std::size_t __status_flags_size,
operator()(sycl::queue& __q, sycl::event __prev_event, _InRng&& __in_rng, _OutRng&& __out_rng,
_BinaryOp __binary_op, std::size_t __n, _StatusFlags&& __status_flags, std::size_t __status_flags_size,
_StatusValues&& __status_vals_full, _StatusValues&& __status_vals_partial,
std::size_t __current_num_items) const
{
Expand All @@ -304,7 +304,7 @@ struct __lookback_submitter<__data_per_workitem, __workgroup_size, _Type, _FlagT

template <bool _Inclusive, typename _InRange, typename _OutRange, typename _BinaryOp, typename _KernelParam>
sycl::event
__single_pass_scan(sycl::queue __queue, _InRange&& __in_rng, _OutRange&& __out_rng, _BinaryOp __binary_op, _KernelParam)
__single_pass_scan(sycl::queue& __q, _InRange&& __in_rng, _OutRange&& __out_rng, _BinaryOp __binary_op, _KernelParam)
{
using _Type = oneapi::dpl::__internal::__value_t<_InRange>;
using _FlagType = __scan_status_flag<_Type>;
Expand All @@ -326,19 +326,19 @@ __single_pass_scan(sycl::queue __queue, _InRange&& __in_rng, _OutRange&& __out_r
"Only binary operators with known identity values are supported");

assert("This device does not support 64-bit atomics" &&
(sizeof(_Type) < 8 || __queue.get_device().has(sycl::aspect::atomic64)));
(sizeof(_Type) < 8 || __q.get_device().has(sycl::aspect::atomic64)));

// Next power of 2 greater than or equal to __n
auto __n_uniform = ::oneapi::dpl::__internal::__dpl_bit_ceil(__n);

// Perform a single-work group scan if the input is small
if (oneapi::dpl::__par_backend_hetero::__group_scan_fits_in_slm<_Type>(__queue, __n, __n_uniform, /*limit=*/16384))
if (oneapi::dpl::__par_backend_hetero::__group_scan_fits_in_slm<_Type>(__q, __n, __n_uniform, /*limit=*/16384))
{
return oneapi::dpl::__par_backend_hetero::__parallel_transform_scan_single_group(
oneapi::dpl::__internal::__device_backend_tag{},
oneapi::dpl::execution::__dpl::make_device_policy<typename _KernelParam::kernel_name>(__queue),
std::forward<_InRange>(__in_rng), std::forward<_OutRange>(__out_rng), __n,
oneapi::dpl::__internal::__no_op{}, unseq_backend::__no_init_value<_Type>{}, __binary_op, std::true_type{});
return oneapi::dpl::__par_backend_hetero::__parallel_transform_scan_single_group<
typename _KernelParam::kernel_name>(oneapi::dpl::__internal::__device_backend_tag{}, __q,
std::forward<_InRange>(__in_rng), std::forward<_OutRange>(__out_rng),
__n, oneapi::dpl::__internal::__no_op{},
unseq_backend::__no_init_value<_Type>{}, __binary_op, std::true_type{});
}

constexpr std::size_t __workgroup_size = _KernelParam::workgroup_size;
Expand All @@ -358,7 +358,7 @@ __single_pass_scan(sycl::queue __queue, _InRange&& __in_rng, _OutRange&& __out_r
std::size_t __mem_bytes =
__status_flags_bytes + __status_vals_full_offset_bytes + __status_vals_partial_offset_bytes + __mem_align_pad;

std::byte* __device_mem = reinterpret_cast<std::byte*>(sycl::malloc_device(__mem_bytes, __queue));
std::byte* __device_mem = reinterpret_cast<std::byte*>(sycl::malloc_device(__mem_bytes, __q));
if (!__device_mem)
throw std::bad_alloc();

Expand All @@ -372,14 +372,14 @@ __single_pass_scan(sycl::queue __queue, _InRange&& __in_rng, _OutRange&& __out_r
reinterpret_cast<_Type*>(__status_vals_full + __status_vals_full_offset_bytes / sizeof(_Type));

auto __fill_event = __lookback_init_submitter<_FlagType, _Type, _BinaryOp, _LookbackInitKernel>{}(
__queue, __status_flags, __status_vals_partial, __status_flags_size, __status_flag_padding);
__q, __status_flags, __status_vals_partial, __status_flags_size, __status_flag_padding);

std::size_t __current_num_wgs = oneapi::dpl::__internal::__dpl_ceiling_div(__n, __elems_in_tile);
std::size_t __current_num_items = __current_num_wgs * __workgroup_size;

auto __prev_event =
__lookback_submitter<__data_per_workitem, __workgroup_size, _Type, _FlagType, _LookbackKernel>{}(
__queue, __fill_event, __in_rng, __out_rng, __binary_op, __n, __status_flags, __status_flags_size,
__q, __fill_event, __in_rng, __out_rng, __binary_op, __n, __status_flags, __status_flags_size,
__status_vals_full, __status_vals_partial, __current_num_items);

// TODO: Currently, the following portion of code makes this entire function synchronous.
Expand All @@ -388,15 +388,15 @@ __single_pass_scan(sycl::queue __queue, _InRange&& __in_rng, _OutRange&& __out_r
// we should replace this code with the asynchronous version below.
if (0)
{
return __queue.submit([=](sycl::handler& __hdl) {
return __q.submit([=](sycl::handler& __hdl) {
__hdl.depends_on(__prev_event);
__hdl.host_task([=]() { sycl::free(__device_mem, __queue); });
__hdl.host_task([=]() { sycl::free(__device_mem, __q); });
});
}
else
{
__prev_event.wait();
sycl::free(__device_mem, __queue);
sycl::free(__device_mem, __q);
return __prev_event;
}
}
Expand All @@ -405,18 +405,18 @@ __single_pass_scan(sycl::queue __queue, _InRange&& __in_rng, _OutRange&& __out_r

template <typename _InRng, typename _OutRng, typename _BinaryOp, typename _KernelParam>
sycl::event
inclusive_scan(sycl::queue __queue, _InRng&& __in_rng, _OutRng&& __out_rng, _BinaryOp __binary_op,
inclusive_scan(sycl::queue& __q, _InRng&& __in_rng, _OutRng&& __out_rng, _BinaryOp __binary_op,
_KernelParam __param = {})
{
auto __in_view = oneapi::dpl::__ranges::views::all(std::forward<_InRng>(__in_rng));
auto __out_view = oneapi::dpl::__ranges::views::all(std::forward<_OutRng>(__out_rng));

return __impl::__single_pass_scan<true>(__queue, std::move(__in_view), std::move(__out_view), __binary_op, __param);
return __impl::__single_pass_scan<true>(__q, std::move(__in_view), std::move(__out_view), __binary_op, __param);
}

template <typename _InIterator, typename _OutIterator, typename _BinaryOp, typename _KernelParam>
sycl::event
inclusive_scan(sycl::queue __queue, _InIterator __in_begin, _InIterator __in_end, _OutIterator __out_begin,
inclusive_scan(sycl::queue& __q, _InIterator __in_begin, _InIterator __in_end, _OutIterator __out_begin,
_BinaryOp __binary_op, _KernelParam __param = {})
{
auto __n = __in_end - __in_begin;
Expand All @@ -426,7 +426,7 @@ inclusive_scan(sycl::queue __queue, _InIterator __in_begin, _InIterator __in_end
auto __keep2 = oneapi::dpl::__ranges::__get_sycl_range<__par_backend_hetero::access_mode::write, _OutIterator>();
auto __buf2 = __keep2(__out_begin, __out_begin + __n);

return __impl::__single_pass_scan<true>(__queue, __buf1.all_view(), __buf2.all_view(), __binary_op, __param);
return __impl::__single_pass_scan<true>(__q, __buf1.all_view(), __buf2.all_view(), __binary_op, __param);
}

} // namespace gpu
Expand Down
30 changes: 21 additions & 9 deletions include/oneapi/dpl/internal/async_impl/async_impl_hetero.h
Original file line number Diff line number Diff line change
Expand Up @@ -140,9 +140,13 @@ __pattern_transform_reduce_async(__hetero_tag<_BackendTag>, _ExecutionPolicy&& _
oneapi::dpl::__ranges::__get_sycl_range<__par_backend_hetero::access_mode::read, _RandomAccessIterator2>();
auto __buf2 = __keep2(__first2, __first2 + __n);

return oneapi::dpl::__par_backend_hetero::__parallel_transform_reduce<_RepackedTp,
::std::true_type /*is_commutative*/>(
_BackendTag{}, ::std::forward<_ExecutionPolicy>(__exec), __binary_op1, _Functor{__binary_op2},
using _CustomName = oneapi::dpl::__internal::__policy_kernel_name<_ExecutionPolicy>;

sycl::queue __q_local = __exec.queue();

return oneapi::dpl::__par_backend_hetero::__parallel_transform_reduce<_CustomName, _RepackedTp,
std::true_type /*is_commutative*/>(
_BackendTag{}, __q_local, __binary_op1, _Functor{__binary_op2},
unseq_backend::__init_value<_RepackedTp>{__init}, // initial value
__buf1.all_view(), __buf2.all_view());
}
Expand All @@ -166,9 +170,13 @@ __pattern_transform_reduce_async(__hetero_tag<_BackendTag>, _ExecutionPolicy&& _
auto __keep = oneapi::dpl::__ranges::__get_sycl_range<__par_backend_hetero::access_mode::read, _ForwardIterator>();
auto __buf = __keep(__first, __last);

return oneapi::dpl::__par_backend_hetero::__parallel_transform_reduce<_RepackedTp,
::std::true_type /*is_commutative*/>(
_BackendTag{}, ::std::forward<_ExecutionPolicy>(__exec), __binary_op, _Functor{__unary_op},
using _CustomName = oneapi::dpl::__internal::__policy_kernel_name<_ExecutionPolicy>;

sycl::queue __q_local = __exec.queue();

return oneapi::dpl::__par_backend_hetero::__parallel_transform_reduce<_CustomName, _RepackedTp,
std::true_type /*is_commutative*/>(
_BackendTag{}, __q_local, __binary_op, _Functor{__unary_op},
unseq_backend::__init_value<_RepackedTp>{__init}, // initial value
__buf.all_view());
}
Expand Down Expand Up @@ -204,9 +212,13 @@ __pattern_transform_scan_base_async(__hetero_tag<_BackendTag>, _ExecutionPolicy&
auto __keep2 = oneapi::dpl::__ranges::__get_sycl_range<__par_backend_hetero::access_mode::write, _Iterator2>();
auto __buf2 = __keep2(__result, __result + __n);

auto __res = oneapi::dpl::__par_backend_hetero::__parallel_transform_scan(
_BackendTag{}, ::std::forward<_ExecutionPolicy>(__exec), __buf1.all_view(), __buf2.all_view(), __n, __unary_op,
__init, __binary_op, _Inclusive{});
sycl::queue __q_local = __exec.queue();

using _CustomName = oneapi::dpl::__internal::__policy_kernel_name<_ExecutionPolicy>;

auto __res = oneapi::dpl::__par_backend_hetero::__parallel_transform_scan<_CustomName>(
_BackendTag{}, __q_local, __buf1.all_view(), __buf2.all_view(), __n, __unary_op, __init, __binary_op,
_Inclusive{});
return __res.__make_future(__result + __n);
}

Expand Down
8 changes: 6 additions & 2 deletions include/oneapi/dpl/internal/async_impl/glue_async_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,8 +102,12 @@ sort_async(_ExecutionPolicy&& __exec, _Iterator __first, _Iterator __last, _Comp
const auto __dispatch_tag = oneapi::dpl::__internal::__select_backend(__exec, __first);
using __backend_tag = typename decltype(__dispatch_tag)::__backend_tag;

return __par_backend_hetero::__parallel_stable_sort(__backend_tag{}, ::std::forward<_ExecutionPolicy>(__exec),
__buf.all_view(), __comp, oneapi::dpl::identity{});
sycl::queue __q_local = __exec.queue();

using _CustomName = oneapi::dpl::__internal::__policy_kernel_name<_ExecutionPolicy>;

return __par_backend_hetero::__parallel_stable_sort<_CustomName>(__backend_tag{}, __q_local, __buf.all_view(),
__comp, oneapi::dpl::identity{});
}

template <class _ExecutionPolicy, class _RandomAccessIterator, class... _Events,
Expand Down
Loading
Loading