diff --git a/benchmarks/benchmark_defaults.hpp b/benchmarks/benchmark_defaults.hpp index 285049f4e..a1432d04a 100644 --- a/benchmarks/benchmark_defaults.hpp +++ b/benchmarks/benchmark_defaults.hpp @@ -37,12 +37,13 @@ auto constexpr SKEW = 0.5; auto constexpr BATCH_SIZE = 1'000'000; auto constexpr INITIAL_SIZE = 50'000'000; -auto const N_RANGE = nvbench::range(10'000'000, 100'000'000, 20'000'000); -auto const N_RANGE_CACHE = - std::vector{8'000, 80'000, 800'000, 8'000'000, 80'000'000}; -auto const OCCUPANCY_RANGE = nvbench::range(0.1, 0.9, 0.1); -auto const MULTIPLICITY_RANGE = std::vector{1, 2, 4, 8, 16}; -auto const MATCHING_RATE_RANGE = nvbench::range(0.1, 1., 0.1); -auto const SKEW_RANGE = nvbench::range(0.1, 1., 0.1); +// Sweeps keep the end points and the points where the curves bend. Denser sweeps can be run +// on demand with an nvbench axis override, e.g. `-a "Occupancy=[0.1:0.9:0.1]"`. +auto const N_RANGE = std::vector{10'000'000, 50'000'000, 90'000'000}; +auto const N_RANGE_CACHE = std::vector{8'000, 800'000, 8'000'000, 80'000'000}; +auto const OCCUPANCY_RANGE = std::vector{0.1, 0.5, 0.8, 0.9}; +auto const MULTIPLICITY_RANGE = std::vector{1, 4, 16}; +auto const MATCHING_RATE_RANGE = std::vector{0.1, 0.5, 1.}; +auto const SKEW_RANGE = std::vector{0.1, 0.3, 1.}; } // namespace cuco::benchmark::defaults diff --git a/benchmarks/bloom_filter/defaults.hpp b/benchmarks/bloom_filter/defaults.hpp index 8b1fd9ab8..73410603e 100644 --- a/benchmarks/bloom_filter/defaults.hpp +++ b/benchmarks/bloom_filter/defaults.hpp @@ -15,7 +15,6 @@ using BF_KEY = nvbench::int64_t; static constexpr auto BF_N = 1'000'000'000; -auto const BF_SIZE_MB_RANGE_CACHE = - std::vector{1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048}; +auto const BF_SIZE_MB_RANGE_CACHE = std::vector{1, 4, 16, 64, 256, 1024}; } // namespace cuco::benchmark::defaults diff --git a/benchmarks/hash_function/hash_function_bench.cu b/benchmarks/hash_function/hash_function_bench.cu index 035c2f0e1..398f3f6ef 100644 --- a/benchmarks/hash_function/hash_function_bench.cu +++ b/benchmarks/hash_function/hash_function_bench.cu @@ -201,5 +201,5 @@ NVBENCH_BENCH_TYPES( .set_name("string_hash_function_eval") .set_type_axes_names({"Hash"}) .add_int64_axis("NumInputs", {cuco::benchmark::defaults::N / 4}) - .add_int64_axis("MinLength", {1, 4}) + .add_int64_axis("MinLength", {1}) .add_int64_axis("MaxLength", {4, 32, 64}); diff --git a/benchmarks/hyperloglog/hyperloglog_bench.cu b/benchmarks/hyperloglog/hyperloglog_bench.cu index 278f5b5f5..a86521fae 100644 --- a/benchmarks/hyperloglog/hyperloglog_bench.cu +++ b/benchmarks/hyperloglog/hyperloglog_bench.cu @@ -151,14 +151,14 @@ NVBENCH_BENCH_TYPES(hyperloglog_e2e, NVBENCH_TYPE_AXES(TYPE_RANGE, nvbench::type_list)) .set_name("hyperloglog_e2e_uniform") .set_type_axes_names({"T", "Distribution"}) - .add_int64_power_of_two_axis("NumInputs", {28, 29, 30}) - .add_int64_axis("SketchSizeKB", {8, 16, 32, 64, 128, 256}) // 256KB uses gmem fallback kernel + .add_int64_power_of_two_axis("NumInputs", {28}) + .add_int64_axis("SketchSizeKB", {32, 64, 128, 256}) // 256KB uses gmem fallback kernel .add_int64_axis("Multiplicity", {1}); NVBENCH_BENCH_TYPES(hyperloglog_add, NVBENCH_TYPE_AXES(TYPE_RANGE, nvbench::type_list)) .set_name("hyperloglog_add_uniform") .set_type_axes_names({"T", "Distribution"}) - .add_int64_power_of_two_axis("NumInputs", {28, 29, 30}) - .add_int64_axis("SketchSizeKB", {8, 16, 32, 64, 128, 256}) + .add_int64_power_of_two_axis("NumInputs", {28}) + .add_int64_axis("SketchSizeKB", {32, 64, 128, 256}) .add_int64_axis("Multiplicity", {1}); diff --git a/benchmarks/roaring_bitmap/build_bench.cu b/benchmarks/roaring_bitmap/build_bench.cu index fde3c1938..b1a8329be 100644 --- a/benchmarks/roaring_bitmap/build_bench.cu +++ b/benchmarks/roaring_bitmap/build_bench.cu @@ -149,29 +149,29 @@ NVBENCH_BENCH(roaring_bitmap_from_indices_unique) NVBENCH_BENCH(roaring_bitmap_from_indices_container_cardinality) .set_name("roaring_bitmap_from_indices_container_cardinality") - .add_int64_axis("ContainerCardinality", {1, 8, 64, 512, 4096, 8192, 32768}); + .add_int64_axis("ContainerCardinality", {1, 512, 4096, 32768}); NVBENCH_BENCH(roaring_bitmap_from_sorted_indices_container_cardinality) .set_name("roaring_bitmap_from_sorted_indices_container_cardinality") - .add_int64_axis("ContainerCardinality", {1, 8, 64, 512, 4096, 8192, 32768}); + .add_int64_axis("ContainerCardinality", {1, 512, 4096, 32768}); NVBENCH_BENCH(roaring_bitmap_from_sorted_unique_indices_container_cardinality) .set_name("roaring_bitmap_from_sorted_unique_indices_container_cardinality") - .add_int64_axis("ContainerCardinality", {1, 8, 64, 512, 4096, 8192, 32768}); + .add_int64_axis("ContainerCardinality", {1, 512, 4096, 32768}); NVBENCH_BENCH_TYPES(roaring_bitmap_from_indices, NVBENCH_TYPE_AXES(nvbench::type_list)) .set_name("roaring_bitmap_from_indices_uniform") .set_type_axes_names({"Distribution"}) .add_int64_power_of_two_axis("NumInputs", {20, 24, 28}) - .add_int64_axis("Multiplicity", {2, 8, 32}); + .add_int64_axis("Multiplicity", {2, 32}); NVBENCH_BENCH_TYPES(roaring_bitmap_from_sorted_indices, NVBENCH_TYPE_AXES(nvbench::type_list)) .set_name("roaring_bitmap_from_sorted_indices") .set_type_axes_names({"Distribution"}) .add_int64_power_of_two_axis("NumInputs", {20, 24, 28}) - .add_int64_axis("Multiplicity", {2, 8, 32}); + .add_int64_axis("Multiplicity", {2, 32}); NVBENCH_BENCH(roaring_bitmap_from_sorted_unique_indices) .set_name("roaring_bitmap_from_sorted_unique_indices")