Skip to content
Merged
Show file tree
Hide file tree
Changes from 35 commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
2e4b7c2
Add clang build matrix
PointKernel Jul 17, 2025
262cd4c
Update
PointKernel Jul 17, 2025
b72b26e
Fix Clang build warnings
PointKernel Jul 17, 2025
4c1de4c
Fix an example warning
PointKernel Jul 18, 2025
2df04f7
Disable benchmark build for clang CI
PointKernel Jul 18, 2025
f27cfc9
Update copyright years
PointKernel Jul 18, 2025
ad63e43
Update GPU archs
PointKernel Jul 18, 2025
042659b
Remove clang test CI
PointKernel Jul 18, 2025
17aeb10
Update
PointKernel Jul 18, 2025
e646932
Updates
PointKernel Jul 21, 2025
f838329
Fix CI success job: add doxygen-check dependency and restore skipped …
PointKernel Jul 23, 2025
9c26e48
Fix CI issues: remove skipped condition from ci-success and add missi…
PointKernel Jul 23, 2025
754620a
Enhance Clang devcontainer following CCCL patterns
PointKernel Jul 23, 2025
cc6b57c
Fix devcontainer files formatting
PointKernel Jul 23, 2025
e905154
Add CI debug output to identify failing jobs
PointKernel Jul 23, 2025
f713010
Enhance CI debug to show matrix job details
PointKernel Jul 23, 2025
ab6a023
Add compute-matrix debugging to identify empty strategy
PointKernel Jul 23, 2025
b8aad27
Fix key generator init
PointKernel Jul 23, 2025
a12d6ea
Remove unused devcontainer
PointKernel Jul 23, 2025
d62a6c3
Revert debugging info
PointKernel Jul 24, 2025
f471095
Cleanups
PointKernel Jul 24, 2025
6c1bc39
Rework
PointKernel Jul 24, 2025
8cf44da
Treat warnings as errors
PointKernel Jul 24, 2025
391c7bf
Debug
PointKernel Jul 24, 2025
73fe74f
Update copyright years
PointKernel Jul 24, 2025
477b965
Revert changes
PointKernel Jul 24, 2025
ef719e2
testing
PointKernel Jul 24, 2025
f56f6ba
Add clang CI back
PointKernel Jul 24, 2025
b148261
Update matrix to avoid empty entry
PointKernel Jul 24, 2025
21ca40b
Remove debug output
PointKernel Jul 24, 2025
e9e6a4f
Updat oldest llvm version
PointKernel Jul 24, 2025
3e6e64c
Add special handling for 12.0 with clang
PointKernel Jul 24, 2025
9b22ccd
Updates
PointKernel Jul 24, 2025
c07375d
Updates
PointKernel Jul 24, 2025
093b646
Update CI matrix infp
PointKernel Jul 24, 2025
4b633c2
Updates
PointKernel Jul 24, 2025
c074eda
Updates
PointKernel Jul 24, 2025
3514076
Clean up CI matrix
PointKernel Jul 24, 2025
961b0ab
Clean up devcontainer
PointKernel Jul 24, 2025
7e00bab
Minor updates
PointKernel Jul 24, 2025
317b874
Update os version for the llvm14 container
PointKernel Jul 24, 2025
d2d2360
Updates
PointKernel Jul 24, 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
4 changes: 2 additions & 2 deletions README.md

Large diffs are not rendered by default.

6 changes: 5 additions & 1 deletion benchmarks/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,11 @@ function(ConfigureBench BENCH_NAME)
target_include_directories(${BENCH_NAME} PRIVATE
"${CMAKE_CURRENT_SOURCE_DIR}")
target_compile_options(${BENCH_NAME} PRIVATE --compiler-options=-Wall --compiler-options=-Wextra
-Wno-deprecated-gpu-targets --expt-extended-lambda -Xcompiler -Wno-subobject-linkage -lineinfo)
--compiler-options=-Werror -Wno-deprecated-gpu-targets --expt-extended-lambda)
# Add GCC-specific warning suppression only for GCC
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
target_compile_options(${BENCH_NAME} PRIVATE -Xcompiler -Wno-subobject-linkage)
endif()
target_link_libraries(${BENCH_NAME} PRIVATE
nvbench::main
pthread
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/dynamic_map/contains_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
* Copyright (c) 2023-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -43,7 +43,7 @@ std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> dynamic_map_contains(

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

thrust::device_vector<pair_type> pairs(num_keys);
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/dynamic_map/erase_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
* Copyright (c) 2023-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -43,7 +43,7 @@ std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> dynamic_map_erase(

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

thrust::device_vector<pair_type> pairs(num_keys);
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/dynamic_map/find_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
* Copyright (c) 2023-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -43,7 +43,7 @@ std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> dynamic_map_find(

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

thrust::device_vector<pair_type> pairs(num_keys);
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/dynamic_map/insert_bench.cu
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> dynamic_map_insert(

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

thrust::device_vector<pair_type> pairs(num_keys);
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/dynamic_map/retrieve_all_bench.cu
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> dynamic_map_retrieve_all(

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

thrust::device_vector<pair_type> pairs(num_keys);
Expand Down
8 changes: 4 additions & 4 deletions benchmarks/hyperloglog/hyperloglog_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2024, NVIDIA CORPORATION.
* Copyright (c) 2024-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -58,7 +58,7 @@ template <class Estimator, class Dist>

thrust::device_vector<T> items(num_items);

key_generator gen;
key_generator gen{};
Estimator estimator{cuco::sketch_size_kb(sketch_size_kb)};
double error_sum = 0;
for (std::size_t i = 0; i < num_samples; ++i) {
Expand Down Expand Up @@ -97,7 +97,7 @@ void hyperloglog_e2e(nvbench::state& state, nvbench::type_list<T, Dist>)

thrust::device_vector<T> items(num_items);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), items.begin(), items.end());

estimator_type estimator{cuco::sketch_size_kb(sketch_size_kb)};
Expand Down Expand Up @@ -126,7 +126,7 @@ void hyperloglog_add(nvbench::state& state, nvbench::type_list<T, Dist>)

thrust::device_vector<T> items(num_items);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), items.begin(), items.end());

state.add_element_count(num_items);
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_map/contains_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021-2024, NVIDIA CORPORATION.
* Copyright (c) 2021-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -45,7 +45,7 @@ std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> static_map_contains(

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

thrust::device_vector<pair_type> pairs(num_keys);
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_map/erase_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021-2024, NVIDIA CORPORATION.
* Copyright (c) 2021-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -45,7 +45,7 @@ std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> static_map_erase(

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

thrust::device_vector<pair_type> pairs(num_keys);
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_map/find_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021-2024, NVIDIA CORPORATION.
* Copyright (c) 2021-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -45,7 +45,7 @@ std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> static_map_find(

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

thrust::device_vector<pair_type> pairs(num_keys);
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/static_map/insert_bench.cu
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> static_map_insert(

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

thrust::device_vector<pair_type> pairs(num_keys);
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_map/insert_or_apply_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
* Copyright (c) 2023-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -46,7 +46,7 @@ std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> static_map_insert_or_appl

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

thrust::device_vector<pair_type> pairs(num_keys);
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/static_multimap/count_bench.cu
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> static_multimap_count(

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

thrust::device_vector<pair_type> pairs(num_keys);
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/static_multimap/insert_bench.cu
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> static_multimap_insert(

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

thrust::device_vector<pair_type> pairs(num_keys);
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_multimap/query_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021-2024, NVIDIA CORPORATION.
* Copyright (c) 2021-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -45,7 +45,7 @@ std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> static_multimap_query(

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

thrust::device_vector<pair_type> pairs(num_keys);
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_multimap/retrieve_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021-2024, NVIDIA CORPORATION.
* Copyright (c) 2021-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -45,7 +45,7 @@ std::enable_if_t<(sizeof(Key) == sizeof(Value)), void> static_multimap_retrieve(

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

thrust::device_vector<pair_type> pairs(num_keys);
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_multiset/contains_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2024, NVIDIA CORPORATION.
* Copyright (c) 2024-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -41,7 +41,7 @@ void static_multiset_contains(nvbench::state& state, nvbench::type_list<Key, Dis

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

cuco::static_multiset<Key> set{size, cuco::empty_key<Key>{-1}};
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_multiset/count_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2024, NVIDIA CORPORATION.
* Copyright (c) 2024-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -42,7 +42,7 @@ void static_multiset_count(nvbench::state& state, nvbench::type_list<Key, Dist>)

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

auto map = cuco::static_multiset{size, cuco::empty_key<Key>{-1}};
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_multiset/find_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2024, NVIDIA CORPORATION.
* Copyright (c) 2024-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -42,7 +42,7 @@ void static_multiset_find(nvbench::state& state, nvbench::type_list<Key, Dist>)

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

cuco::static_multiset<Key> set{size, cuco::empty_key<Key>{-1}};
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_multiset/insert_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2024, NVIDIA CORPORATION.
* Copyright (c) 2024-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -40,7 +40,7 @@ void static_multiset_insert(nvbench::state& state, nvbench::type_list<Key, Dist>

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

state.add_element_count(num_keys);
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_multiset/retrieve_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2024, NVIDIA CORPORATION.
* Copyright (c) 2024-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -42,7 +42,7 @@ void static_multiset_retrieve(nvbench::state& state, nvbench::type_list<Key, Dis

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

gen.dropout(keys.begin(), keys.end(), matching_rate);
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_set/contains_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
* Copyright (c) 2023-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -41,7 +41,7 @@ void static_set_contains(nvbench::state& state, nvbench::type_list<Key, Dist>)

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

cuco::static_set<Key> set{size, cuco::empty_key<Key>{-1}};
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_set/find_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
* Copyright (c) 2023-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -42,7 +42,7 @@ void static_set_find(nvbench::state& state, nvbench::type_list<Key, Dist>)

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

cuco::static_set<Key> set{size, cuco::empty_key<Key>{-1}};
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_set/insert_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
* Copyright (c) 2023-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -40,7 +40,7 @@ void static_set_insert(nvbench::state& state, nvbench::type_list<Key, Dist>)

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

state.add_element_count(num_keys);
Expand Down
4 changes: 2 additions & 2 deletions benchmarks/static_set/rehash_bench.cu
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2023-2024, NVIDIA CORPORATION.
* Copyright (c) 2023-2025, NVIDIA CORPORATION.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -40,7 +40,7 @@ void static_set_rehash(nvbench::state& state, nvbench::type_list<Key, Dist>)

thrust::device_vector<Key> keys(num_keys); // slots per second

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

state.add_element_count(capacity);
Expand Down
2 changes: 1 addition & 1 deletion benchmarks/static_set/retrieve_all_bench.cu
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ void static_set_retrieve_all(nvbench::state& state, nvbench::type_list<Key, Dist

thrust::device_vector<Key> keys(num_keys);

key_generator gen;
key_generator gen{};
gen.generate(dist_from_state<Dist>(state), keys.begin(), keys.end());

cuco::static_set<Key> set{size, cuco::empty_key<Key>{-1}};
Expand Down
Loading
Loading