Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
142 commits
Select commit Hold shift + click to select a range
89c7b8a
feat(rocthrust): port CCCL 543b245c62c - Bump main to 3.2.0. (NVIDIA/…
amd-jmahovsky Oct 19, 2026
208d3c3
feat(rocthrust): port CCCL 76fc4572271 - Extend and refactor transfor…
amd-jmahovsky Oct 19, 2026
f0c15ba
feat(rocthrust): port CCCL 6d3ffc900fb - Port `thrust::transform_inpu…
amd-jmahovsky Oct 19, 2026
e4c1857
feat(rocthrust): port CCCL 7825c40c8a6 - Add a macro to disable PDL (…
amd-jmahovsky Oct 19, 2026
c03c3c2
feat(rocthrust): port CCCL daf84b3d7f5 - Makes `thrust::unique` use `…
amd-jmahovsky Oct 19, 2026
4a747a6
feat(rocthrust): port CCCL 4db1ed081a3 - Disable NVHPC optimization t…
amd-jmahovsky Oct 19, 2026
7ab47d5
feat(rocthrust): port CCCL 228c8379b80 - Generate negative numbers in…
amd-jmahovsky Oct 19, 2026
3091387
feat(rocthrust): port CCCL 3b6e4a6e911 - Port `thrust::zip_iterator` …
amd-jmahovsky Oct 19, 2026
7eb5b15
feat(rocthrust): port CCCL c8e0441d799 - Simplify thrust::device_mall…
amd-jmahovsky Oct 19, 2026
82122ab
feat(rocthrust): port CCCL 30c02fd29dd - Refactor thrust::pointer (NV…
amd-jmahovsky Oct 19, 2026
937e338
feat(rocthrust): port CCCL 8b6974ed415 - Add test to ensure we can us…
amd-jmahovsky Oct 19, 2026
970f96c
feat(rocthrust): port CCCL f5a40bf5e45 - Drop `thrust::LoadIterator`/…
amd-jmahovsky Oct 19, 2026
0da7737
feat(rocthrust): port CCCL 82335a826ed - Extend `cub::DeviceTransform…
amd-jmahovsky Oct 19, 2026
a98ca4f
feat(rocthrust): port CCCL 4ea5d23ae76 - [Thrust] Make documentation …
amd-jmahovsky Oct 19, 2026
a91127f
feat(rocthrust): port CCCL 4b2201184c4 - Use `thrust::copy` in `thrus…
amd-jmahovsky Oct 19, 2026
67dd2e0
feat(rocthrust): port CCCL 854290f8b5f - Add a benchmark for transfor…
amd-jmahovsky Oct 19, 2026
8fe1627
feat(rocthrust): port CCCL bc455b2d440 - Remove repo-docs dependency …
amd-jmahovsky Oct 19, 2026
55ceef7
feat(rocthrust): port CCCL b2a8d0e88f8 - Replace our qualification ma…
amd-jmahovsky Oct 19, 2026
d93f91e
feat(rocthrust): port CCCL 419d327e959 - Documentation fixes (NVIDIA/…
amd-jmahovsky Oct 19, 2026
30cf40c
feat(rocthrust): port CCCL 2e8d11a0e36 - Avoids invoking custom equal…
amd-jmahovsky Oct 19, 2026
ba95551
feat(rocthrust): port CCCL 8b68d958473 - Drop internal uses of `thrus…
amd-jmahovsky Oct 19, 2026
42f1892
feat(rocthrust): port CCCL d7fbce513a7 - Fixes `thrust::unique` for n…
amd-jmahovsky Oct 19, 2026
1644c6e
feat(rocthrust): port CCCL ed7b88d9441 - Fix `cuda::shuffle_iterator`…
amd-jmahovsky Oct 19, 2026
aaa46df
feat(rocthrust): port CCCL 10823d8cf51 - Move nvbench_helper out of C…
amd-jmahovsky Oct 19, 2026
1816351
feat(rocthrust): port CCCL d046198a7ee - Fix `thrust::malloc` for `vo…
amd-jmahovsky Oct 19, 2026
4a8ce18
feat(rocthrust): port CCCL 065a6a742d6 - Unify the libcudacxx header …
amd-jmahovsky Oct 19, 2026
b167beb
feat(rocthrust): port CCCL d2453265b96 - Address Sphinx warnings, pop…
amd-jmahovsky Oct 19, 2026
72ea984
feat(rocthrust): port CCCL 8a95f4c8051 - Fix Thrust header tests and …
amd-jmahovsky Oct 19, 2026
38652e8
feat(rocthrust): port CCCL e6c67785ca6 - Drop unused header (NVIDIA/c…
amd-jmahovsky Oct 19, 2026
ec63523
feat(rocthrust): port CCCL 5ff11d47308 - Use nested namespace specifi…
amd-jmahovsky Oct 19, 2026
15d6887
feat(rocthrust): port CCCL ee141c6b175 - Fix uninitialized read in un…
amd-jmahovsky Oct 19, 2026
e592f35
feat(rocthrust): port CCCL 50929671faf - Use DeviceTransform::Fill in…
amd-jmahovsky Oct 19, 2026
575e1bf
feat(rocthrust): port CCCL e93c9c33537 - Port thrust::generate[_n] to…
amd-jmahovsky Oct 19, 2026
abc79ad
feat(rocthrust): port CCCL d668cd199be - Slim down Thrust CUDA core u…
amd-jmahovsky Oct 19, 2026
e8a5cce
feat(rocthrust): port CCCL 5222e2921fb - Improve Thrust iterator docu…
amd-jmahovsky Oct 19, 2026
eedd8e8
feat(rocthrust): port CCCL 49b642e53dd - Use a custom `iter_swap` ker…
amd-jmahovsky Oct 19, 2026
3efab50
feat(rocthrust): port CCCL 0b700f32b1e - Use forward declarations of …
amd-jmahovsky Oct 19, 2026
19fdfb9
feat(rocthrust): port CCCL bf56172e512 - Test Thrust iterator system …
amd-jmahovsky Oct 19, 2026
596c69d
feat(rocthrust): port CCCL abcb70514b7 - Refactor thrust::iterator_fa…
amd-jmahovsky Oct 19, 2026
bb32648
feat(rocthrust): port CCCL a94f5f38596 - Add tests for host system pr…
amd-jmahovsky Oct 19, 2026
9824210
feat(rocthrust): port CCCL af6a7158195 - Drop obsolete is_discard_ite…
amd-jmahovsky Oct 19, 2026
f33c151
feat(rocthrust): port CCCL a0c7db9916c - Fix `iterator_category_to_sy…
amd-jmahovsky Oct 19, 2026
698b3cf
feat(rocthrust): port CCCL 025ed18d66e - Remove unused include of gri…
amd-jmahovsky Oct 19, 2026
ee547d6
feat(rocthrust): port CCCL d91b32f1bf6 - Add missing stream synchroni…
amd-jmahovsky Oct 19, 2026
5d372d6
feat(rocthrust): port CCCL 4d1fc6ae38d - Clarify missing Reference an…
amd-jmahovsky Oct 19, 2026
3db1958
feat(rocthrust): port CCCL f4867bd8982 - Make thrust::fill[_n] use cu…
amd-jmahovsky Oct 19, 2026
6529871
feat(rocthrust): port CCCL da893945e45 - Modernize Thrust examples (N…
amd-jmahovsky Oct 19, 2026
3f17b1b
feat(rocthrust): port CCCL ca57b79824c - Inherit `thrust::transform_i…
amd-jmahovsky Oct 19, 2026
249af32
feat(rocthrust): port CCCL 4eb027ce476 - Drop `thrust::counting_itera…
amd-jmahovsky Oct 19, 2026
78bfb16
feat(rocthrust): port CCCL 07e250154a8 - Revert "Drop `thrust::counti…
amd-jmahovsky Oct 19, 2026
a9b8816
feat(rocthrust): port CCCL bb718514624 - Drop Thrust mpl math (NVIDIA…
amd-jmahovsky Oct 19, 2026
21dce01
feat(rocthrust): port CCCL e2dda739257 - Modernize iterator machinery…
amd-jmahovsky Oct 19, 2026
5054d66
feat(rocthrust): port CCCL feb641f2a59 - Fix iterator adaptor sample …
amd-jmahovsky Oct 19, 2026
c1961ea
feat(rocthrust): port CCCL 5197e4b8a58 - Refactor and condense thrust…
amd-jmahovsky Oct 19, 2026
e58d058
feat(rocthrust): port CCCL 1ceac3731d5 - Improve `thrust::cuda_cub::r…
amd-jmahovsky Oct 19, 2026
7544a6b
feat(rocthrust): port CCCL 2f39a342b93 - Refactor Thrust execution po…
amd-jmahovsky Oct 19, 2026
8033861
feat(rocthrust): port CCCL dcc24cd082b - Try to use _CCCL_API in Thru…
amd-jmahovsky Oct 19, 2026
d987745
feat(rocthrust): port CCCL 9e73f14e8f1 - Improve interoperability of …
amd-jmahovsky Oct 19, 2026
24ac0ff
feat(rocthrust): port CCCL 03552de3825 - Drop thrust detail seq polic…
amd-jmahovsky Oct 19, 2026
019c52b
feat(rocthrust): port CCCL 8979072c17a - Deprecate and replace THUST_…
amd-jmahovsky Oct 19, 2026
bfefb99
feat(rocthrust): port CCCL 9fbba017026 - Fix dereferencing nullptr in…
amd-jmahovsky Oct 19, 2026
31847ac
feat(rocthrust): port CCCL 36ec00be03f - Ensure non-trivial thrust::c…
amd-jmahovsky Oct 19, 2026
cd93370
feat(rocthrust): port CCCL fe943f23ced - Ensure thrust::scatter_if us…
amd-jmahovsky Oct 19, 2026
d411a0e
feat(rocthrust): port CCCL e20f6a68c8a - Rename the trait checks to `…
amd-jmahovsky Oct 19, 2026
34c783f
feat(rocthrust): port CCCL 168e81561d4 - Try to clean up align utilit…
amd-jmahovsky Oct 19, 2026
7b6ef5c
feat(rocthrust): port CCCL ef51c79d683 - Replace `_LIBCUDACXX_DEPRECA…
amd-jmahovsky Oct 19, 2026
93bb8ab
feat(rocthrust): port CCCL ff8a0d96b7f - Unwrap cuda::zip_iterator/zi…
amd-jmahovsky Oct 19, 2026
8927e34
feat(rocthrust): port CCCL d9ebd3eb183 - Add more tests for `thrust::…
amd-jmahovsky Oct 19, 2026
39a06d7
feat(rocthrust): port CCCL ad70011e990 - Support fancy iterators in v…
amd-jmahovsky Oct 19, 2026
8571f32
feat(rocthrust): port CCCL 578ff26c307 - Refactor `thrust::[try_]unwr…
amd-jmahovsky Oct 19, 2026
7a8e8a0
feat(rocthrust): port CCCL 57b16c2fc64 - [CUB] Replace several direct…
amd-jmahovsky Oct 19, 2026
f085dd7
feat(rocthrust): port CCCL fa13b90c53b - Implement `cuda::zip_transfo…
amd-jmahovsky Oct 19, 2026
c057020
feat(rocthrust): port CCCL a1683b97d87 - Remove fully qualified ::cud…
amd-jmahovsky Oct 19, 2026
68c4e77
feat(rocthrust): port CCCL ab99d87e866 - Move nvhpc header wrappers t…
amd-jmahovsky Oct 19, 2026
32f49fb
feat(rocthrust): port CCCL 700f2a867a7 - Refactor Thrust `destroy_ran…
amd-jmahovsky Oct 19, 2026
0b92b11
feat(rocthrust): port CCCL fbb9479172c - Refactor Thrust allocator in…
amd-jmahovsky Oct 19, 2026
4be133d
feat(rocthrust): port CCCL dbd58724133 - Bypass allocator in `thrust:…
amd-jmahovsky Oct 19, 2026
8051541
feat(rocthrust): port CCCL 01cd9b491ed - Support polymorphic types in…
amd-jmahovsky Oct 19, 2026
c0b6be9
feat(rocthrust): port CCCL 1c3c7ddee12 - Refactor iterator usage in t…
amd-jmahovsky Oct 19, 2026
9041f28
feat(rocthrust): port CCCL 73d8738e860 - Try different formulation fo…
amd-jmahovsky Oct 19, 2026
1f36f77
feat(rocthrust): port CCCL bfb875c8f73 - Drop all uses of `thrust::ta…
amd-jmahovsky Oct 19, 2026
3a4bf2b
feat(rocthrust): port CCCL 13886f72f16 - Add host standard library de…
amd-jmahovsky Oct 19, 2026
4df16cb
feat(rocthrust): port CCCL c99060c19e9 - Deprecate `<cuda/stream_ref>…
amd-jmahovsky Oct 19, 2026
c3cca49
feat(rocthrust): port CCCL 344641b3b3c - Limit deprecation exclusions…
amd-jmahovsky Oct 19, 2026
199dbbb
feat(rocthrust): port CCCL 5303f65de2d - Dropped duplicated math func…
amd-jmahovsky Oct 19, 2026
c54031b
feat(rocthrust): port CCCL 1238f287f4f - add parallel scan support fo…
amd-jmahovsky Oct 19, 2026
d9d2094
feat(rocthrust): port CCCL 75f88e5a5db - Ignore OOM failures for larg…
amd-jmahovsky Oct 19, 2026
4c791bd
feat(rocthrust): port CCCL 638c03d54f7 - Replace __popc with cude::st…
amd-jmahovsky Oct 19, 2026
45e8c2b
feat(rocthrust): port CCCL f1b4a17019b - Always include `<new>` when …
amd-jmahovsky Oct 19, 2026
a892651
feat(rocthrust): port CCCL 325b8851fe8 - Fix thrust system dependend …
amd-jmahovsky Oct 19, 2026
1e687eb
feat(rocthrust): port CCCL 52eb28883c4 - Simplify thrust::zip_functio…
amd-jmahovsky Oct 19, 2026
996762c
feat(rocthrust): port CCCL 8ca3dc31e90 - Refactor thrust::mismatch to…
amd-jmahovsky Oct 19, 2026
56f161b
feat(rocthrust): port CCCL 3ec95622aff - Move the `throw_meow_error` …
amd-jmahovsky Oct 19, 2026
693c762
feat(rocthrust): port CCCL 81b9aa5f1cc - Move the implementation of `…
amd-jmahovsky Oct 19, 2026
6ec7f67
feat(rocthrust): port CCCL 85bf1b00c4d - Refactor generic thrust scan…
amd-jmahovsky Oct 19, 2026
b9b69fd
feat(rocthrust): port CCCL e73cc82956a - Move CPP, OMP and TBB exec p…
amd-jmahovsky Oct 19, 2026
2150543
feat(rocthrust): port CCCL c22298179e0 - Refactor Thrust OMP system h…
amd-jmahovsky Oct 19, 2026
aa7f543
feat(rocthrust): port CCCL 88b95bb9a2c - Inline the Thrust ADL layer …
amd-jmahovsky Oct 19, 2026
a68e05d
feat(rocthrust): port CCCL a8c74132b74 - Drop unused file to detect C…
amd-jmahovsky Oct 19, 2026
fcf6024
feat(rocthrust): port CCCL e2fcf893086 - Make some if constexpr (NVID…
amd-jmahovsky Oct 19, 2026
aa40d0e
feat(rocthrust): port CCCL c2f0b68245e - Refactor Thrust TBB system h…
amd-jmahovsky Oct 19, 2026
8324cdd
feat(rocthrust): port CCCL dc30031642b - Fix wrong namespace (NVIDIA/…
amd-jmahovsky Oct 19, 2026
2dbf1bf
feat(rocthrust): port CCCL e11761cc1b8 - Fix wrongly rewritten licens…
amd-jmahovsky Oct 19, 2026
aa707d2
feat(rocthrust): port CCCL 865e3d6429f - Inline remaining `*.inl` fil…
amd-jmahovsky Oct 19, 2026
c5ddfd2
feat(rocthrust): port CCCL 79060c84eb6 - Fix offset_iterator tests (N…
amd-jmahovsky Oct 19, 2026
f32b883
feat(rocthrust): port CCCL 106665c64f4 - Use SPDX license identifiers…
amd-jmahovsky Oct 19, 2026
45cb571
feat(rocthrust): port CCCL 31dd1d76e72 - [clang-format] WrapNamespace…
amd-jmahovsky Oct 19, 2026
e4fac97
feat(rocthrust): port CCCL 93e1f87c252 - Ensure that `detect_wrong_di…
amd-jmahovsky Oct 19, 2026
71165c6
feat(rocthrust): port CCCL e6ad5079192 - Nested namespace resolve for…
amd-jmahovsky Oct 19, 2026
c1be8c5
feat(rocthrust): port CCCL d89402658b2 - Various CMake cleanups. (NVI…
amd-jmahovsky Oct 19, 2026
08e6dcc
feat(rocthrust): port CCCL cb07e970a01 - Remove old C++ version check…
amd-jmahovsky Oct 19, 2026
da8d99e
feat(rocthrust): port CCCL bcb2bcb106d - [clang-format] KeepEmptyLine…
amd-jmahovsky Oct 19, 2026
5ab2bba
feat(rocthrust): port CCCL a3cf1182949 - Replace custom equal_to func…
amd-jmahovsky Oct 19, 2026
f33a159
feat(rocthrust): port CCCL 24deb145aec - Cleanup `thrust::complex` ma…
amd-jmahovsky Oct 19, 2026
d2e9303
feat(rocthrust): port CCCL 4b10fd26255 - Cleanup includes in thrust (…
amd-jmahovsky Oct 19, 2026
4206058
feat(rocthrust): port CCCL 369f2f72eca - Fix merge conflicts from dro…
amd-jmahovsky Oct 19, 2026
61517d3
feat(rocthrust): port CCCL 2845628f12e - Add gersemi CMake formatter …
amd-jmahovsky Oct 19, 2026
5911215
feat(rocthrust): port CCCL 3a4892e1fb9 - [Thrust]: New "sum rows" and…
amd-jmahovsky Oct 19, 2026
4dc9019
feat(rocthrust): port CCCL 06f2025d169 - Replace enum by static const…
amd-jmahovsky Oct 19, 2026
f84576d
feat(rocthrust): port CCCL 8b263079605 - Make Thrust/CUB ABI namespac…
amd-jmahovsky Oct 19, 2026
53fa915
feat(rocthrust): port CCCL 91434d76ab3 - Replace uses of `thrust::pai…
amd-jmahovsky Oct 19, 2026
b6e81c1
feat(rocthrust): port CCCL fba9f834103 - Publicly expose `<cuda/std/a…
amd-jmahovsky Oct 19, 2026
7e2c3fb
feat(rocthrust): port CCCL b934754d607 - Refactor cub::detail::AliasT…
amd-jmahovsky Oct 19, 2026
dc4a8c4
feat(rocthrust): port CCCL 99976dcd665 - MVP for disabling nvtx range…
amd-jmahovsky Oct 19, 2026
d98a5e3
feat(rocthrust): port CCCL 2f82c4d1be1 - Port thrust complex.cu tests…
amd-jmahovsky Oct 19, 2026
ad694ae
feat(rocthrust): port CCCL 26c79caf60e - fix omp scan bug (NVIDIA/ccc…
amd-jmahovsky Oct 19, 2026
65e383b
feat(rocthrust): port CCCL 2f529edf653 - Ensure that we properly warn…
amd-jmahovsky Oct 19, 2026
f5227b1
feat(rocthrust): port CCCL 783ebe64a0e - CMake backports for 3.2 (NVI…
amd-jmahovsky Oct 19, 2026
1070506
feat(rocthrust): port CCCL 2c7c41e2026 - [thrust] Ignore CUDA free er…
amd-jmahovsky Oct 19, 2026
adf45f6
feat(rocthrust): port CCCL 7407ca152b0 - Use cudaMemcpyDefault for tr…
amd-jmahovsky Oct 19, 2026
9e88cdc
feat(rocthrust): port CCCL 5281dcaefdc - Align local vector storage a…
amd-jmahovsky Oct 19, 2026
eed8b9d
feat(rocthrust): port CCCL b85d41e36d4 - Fixes for thrust::shuffle (N…
amd-jmahovsky Oct 19, 2026
6249bc1
feat(rocthrust): port CCCL 64bf7077610 - Bump branch/3.2.x to 3.2.1. …
amd-jmahovsky Oct 19, 2026
787f309
add upgrade md files
amd-jmahovsky Oct 19, 2026
5fc5953
fix(rocthrust): capture by copy implicitely instead of explicitely
Naraenda Oct 26, 2026
7bd4dfc
fix(rocthrust): fix incorrectly resolved merge conflict with _THRUST_…
Naraenda Oct 26, 2026
4a8b41f
chore(libhipcxx): bump submodule to 87af709ba43
amd-jmahovsky Nov 3, 2026
1e16ec9
Update version.h
amd-jmahovsky Nov 4, 2026
494abab
chore(libhipcxx): bump submodule to 5cf4deb633f
amd-jmahovsky Nov 4, 2026
10cec77
fix(rocthrust): resolve test failures in rocthrust hipccl 3.2 (#14467)
Naraenda Nov 4, 2026
1f19360
feat(hipccl): rocThrust's parity with CCCL 3.2 ADDITIONAL (#14670)
amd-jmahovsky Nov 4, 2026
1d5920e
fix(rocthrust): drop include of removed hip/detail/par_to_seq.h in co…
amd-jmahovsky Nov 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ ROCPRIM_KERNEL ROCPRIM_LAUNCH_BOUNDS(ROCPRIM_DEFAULT_MAX_BLOCK_SIZE) void
template<lookback_scan_determinism Determinism,
typename Config,
typename Selector,
typename AccumulatorType,
typename KeysInputIterator,
typename ValuesInputIterator,
typename UniqueOutputIterator,
Expand All @@ -121,8 +122,6 @@ hipError_t reduce_by_key_impl_wrapped_config(void* temporary
const hipStream_t stream,
const bool debug_synchronous)
{
using accumulator_type = reduce_by_key::accumulator_type_t<ValuesInputIterator, BinaryFunction>;

bool use_atomic_block_id;
ROCPRIM_RETURN_ON_ERROR(check_if_using_atomic_block_id(stream, use_atomic_block_id));
const auto use_atomic_block_id_variant
Expand All @@ -142,7 +141,7 @@ hipError_t reduce_by_key_impl_wrapped_config(void* temporary
const auto params = get_config<Selector>(Config{}, current_target);

using scan_state_type
= reduce_by_key::lookback_scan_state_t<accumulator_type, use_sleepy_scan>;
= reduce_by_key::lookback_scan_state_t<AccumulatorType, use_sleepy_scan>;
const unsigned int block_size = params.kernel_config.block_size;
const unsigned int items_per_block = block_size * params.kernel_config.items_per_thread;

Expand All @@ -162,7 +161,7 @@ hipError_t reduce_by_key_impl_wrapped_config(void* temporary
// The number of segment heads in previous launches.
std::size_t* d_global_head_count = nullptr;
// The running accumulation across the launch boundary.
accumulator_type* d_previous_accumulated = nullptr;
AccumulatorType* d_previous_accumulated = nullptr;

detail::temp_storage::layout layout{};
ROCPRIM_RETURN_ON_ERROR(
Expand Down Expand Up @@ -291,6 +290,7 @@ hipError_t reduce_by_key_impl_wrapped_config(void* temporary

template<lookback_scan_determinism Determinism,
typename Config,
typename AccumulatorType,
typename KeysInputIterator,
typename ValuesInputIterator,
typename UniqueOutputIterator,
Expand All @@ -311,23 +311,23 @@ hipError_t reduce_by_key_impl(void* temporary_storage,
const hipStream_t stream,
const bool debug_synchronous)
{
using key_type = ::rocprim::detail::value_type_t<KeysInputIterator>;
using accumulator_type = reduce_by_key::accumulator_type_t<ValuesInputIterator, BinaryFunction>;
using Selector = reduce_by_key_config_selector<key_type, accumulator_type, BinaryFunction>;

return detail::reduce_by_key_impl_wrapped_config<Determinism, Config, Selector>(
temporary_storage,
storage_size,
keys_input,
values_input,
size,
unique_output,
aggregates_output,
unique_count_output,
reduce_op,
key_compare_op,
stream,
debug_synchronous);
using key_type = ::rocprim::detail::value_type_t<KeysInputIterator>;
using Selector = reduce_by_key_config_selector<key_type, AccumulatorType, BinaryFunction>;

return detail::
reduce_by_key_impl_wrapped_config<Determinism, Config, Selector, AccumulatorType>(
temporary_storage,
storage_size,
keys_input,
values_input,
size,
unique_output,
aggregates_output,
unique_count_output,
reduce_op,
key_compare_op,
stream,
debug_synchronous);
}

} // namespace detail
Expand Down Expand Up @@ -466,19 +466,22 @@ inline hipError_t reduce_by_key(void* temporary_storage,
hipStream_t stream = 0,
bool debug_synchronous = false)
{
return detail::reduce_by_key_impl<detail::lookback_scan_determinism::default_determinism,
Config>(temporary_storage,
storage_size,
keys_input,
values_input,
size,
unique_output,
aggregates_output,
unique_count_output,
reduce_op,
key_compare_op,
stream,
debug_synchronous);
return detail::reduce_by_key_impl<
detail::lookback_scan_determinism::default_determinism,
Config,
detail::reduce_by_key::accumulator_type_t<ValuesInputIterator, BinaryFunction>>(
temporary_storage,
storage_size,
keys_input,
values_input,
size,
unique_output,
aggregates_output,
unique_count_output,
reduce_op,
key_compare_op,
stream,
debug_synchronous);
}

/// \brief Bitwise-reproducible parallel reduce-by-key primitive for device level.
Expand Down Expand Up @@ -512,7 +515,10 @@ inline hipError_t deterministic_reduce_by_key(void* temporar
hipStream_t stream = 0,
bool debug_synchronous = false)
{
return detail::reduce_by_key_impl<detail::lookback_scan_determinism::deterministic, Config>(
return detail::reduce_by_key_impl<
detail::lookback_scan_determinism::deterministic,
Config,
detail::reduce_by_key::accumulator_type_t<ValuesInputIterator, BinaryFunction>>(
temporary_storage,
storage_size,
keys_input,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,18 +83,19 @@ hipError_t run_length_encode_impl(void* temporary_storage,
return detail::reduce_by_key_impl_wrapped_config<
detail::lookback_scan_determinism::nondeterministic,
typename select_reduce_by_key_config<Config>::type,
Selector>(temporary_storage,
storage_size,
keys_input,
values_input,
size,
unique_output,
aggregates_output,
unique_count_output,
reduce_op,
key_compare_op,
stream,
debug_synchronous);
Selector,
accumulator_type>(temporary_storage,
storage_size,
keys_input,
values_input,
size,
unique_output,
aggregates_output,
unique_count_output,
reduce_op,
key_compare_op,
stream,
debug_synchronous);
}

template<typename Config,
Expand Down
5 changes: 5 additions & 0 deletions projects/hipccl/hipccl3/rocthrust/benchmark/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ add_thrust_benchmark(bench/copy/if.cu)
add_thrust_benchmark(bench/equal/basic.cu)
add_thrust_benchmark(bench/fill/basic.cu)
add_thrust_benchmark(bench/for_each/basic.cu)
add_thrust_benchmark(bench/generate/basic.cu)
add_thrust_benchmark(bench/inner_product/basic.cu)
add_thrust_benchmark(bench/merge/basic.cu)
add_thrust_benchmark(bench/partition/basic.cu)
Expand All @@ -145,7 +146,11 @@ add_thrust_benchmark(bench/sort/pairs.cu)
add_thrust_benchmark(bench/sort/pairs_custom.cu)
add_thrust_benchmark(bench/tabulate/basic.cu)
add_thrust_benchmark(bench/transform/basic.cu)
add_thrust_benchmark(bench/transform/if.cu)
add_thrust_benchmark(bench/transform/if_stencil.cu)
add_thrust_benchmark(bench/transform/zip_transform.cu)
add_thrust_benchmark(bench/transform_reduce/sum.cu)
add_thrust_benchmark(bench/uninitialized_copy/basic.cu)
add_thrust_benchmark(bench/unique/basic.cu)
add_thrust_benchmark(bench/unique/by_key.cu)
add_thrust_benchmark(bench/vectorized_search/basic.cu)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,30 +1,6 @@
/******************************************************************************
* Copyright (c) 2011-2023, NVIDIA CORPORATION. All rights reserved.
* Modifications Copyright (c) 2024-2026, Advanced Micro Devices, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the NVIDIA CORPORATION nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************/
// SPDX-FileCopyrightText: Copyright (c) 2011-2023, NVIDIA CORPORATION. All rights reserved.
// SPDX-FileCopyrightText: Modifications Copyright (c) 2024-2026 Advanced Micro Devices, Inc. All rights reserved.
// SPDX-License-Identifier: BSD-3

#include <thrust/adjacent_difference.h>
#include <thrust/device_vector.h>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,30 +1,6 @@
/******************************************************************************
* Copyright (c) 2011-2023, NVIDIA CORPORATION. All rights reserved.
* Modifications Copyright (c) 2024-2026, Advanced Micro Devices, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the NVIDIA CORPORATION nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************/
// SPDX-FileCopyrightText: Copyright (c) 2011-2023, NVIDIA CORPORATION. All rights reserved.
// SPDX-FileCopyrightText: Modifications Copyright (c) 2024-2026 Advanced Micro Devices, Inc. All rights reserved.
// SPDX-License-Identifier: BSD-3

#include <thrust/adjacent_difference.h>
#include <thrust/device_vector.h>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,30 +1,6 @@
/******************************************************************************
* Copyright (c) 2011-2023, NVIDIA CORPORATION. All rights reserved.
* Modifications Copyright (c) 2024-2026, Advanced Micro Devices, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the NVIDIA CORPORATION nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************/
// SPDX-FileCopyrightText: Copyright (c) 2011-2023, NVIDIA CORPORATION. All rights reserved.
// SPDX-FileCopyrightText: Modifications Copyright (c) 2024-2026 Advanced Micro Devices, Inc. All rights reserved.
// SPDX-License-Identifier: BSD-3

#include <thrust/adjacent_difference.h>
#include <thrust/device_vector.h>
Expand Down
30 changes: 3 additions & 27 deletions projects/hipccl/hipccl3/rocthrust/benchmark/bench/copy/basic.cu
Original file line number Diff line number Diff line change
@@ -1,30 +1,6 @@
/******************************************************************************
* Copyright (c) 2011-2023, NVIDIA CORPORATION. All rights reserved.
* Modifications Copyright (c) 2024-2026, Advanced Micro Devices, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the NVIDIA CORPORATION nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************/
// SPDX-FileCopyrightText: Copyright (c) 2011-2023, NVIDIA CORPORATION. All rights reserved.
// SPDX-FileCopyrightText: Modifications Copyright (c) 2024-2026 Advanced Micro Devices, Inc. All rights reserved.
// SPDX-License-Identifier: BSD-3

// Benchmark utils
#include "bench_utils.hpp"
Expand Down
30 changes: 3 additions & 27 deletions projects/hipccl/hipccl3/rocthrust/benchmark/bench/copy/if.cu
Original file line number Diff line number Diff line change
@@ -1,30 +1,6 @@
/******************************************************************************
* Copyright (c) 2011-2023, NVIDIA CORPORATION. All rights reserved.
* Modifications Copyright (c) 2024-2026, Advanced Micro Devices, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of the NVIDIA CORPORATION nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
******************************************************************************/
// SPDX-FileCopyrightText: Copyright (c) 2011-2023, NVIDIA CORPORATION. All rights reserved.
// SPDX-FileCopyrightText: Modifications Copyright (c) 2024-2026 Advanced Micro Devices, Inc. All rights reserved.
// SPDX-License-Identifier: BSD-3

#include <thrust/copy.h>
#include <thrust/count.h>
Expand Down
Loading
Loading