From 8db2ee1394e1d96f430a3db400c76bf312f4438f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20J=C3=BCnger?= Date: Tue, 27 Aug 2024 01:08:54 +0000 Subject: [PATCH] Add word type to benchmark type axes --- benchmarks/bloom_filter/bloom_filter_bench.cu | 36 +++++++++++-------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/benchmarks/bloom_filter/bloom_filter_bench.cu b/benchmarks/bloom_filter/bloom_filter_bench.cu index d9103e838..e396b1d58 100644 --- a/benchmarks/bloom_filter/bloom_filter_bench.cu +++ b/benchmarks/bloom_filter/bloom_filter_bench.cu @@ -61,15 +61,16 @@ void add_fpr_summary(nvbench::state& state, FilterType& filter) /** * @brief A benchmark evaluating `cuco::bloom_filter::add_async` performance */ -template -void bloom_filter_add(nvbench::state& state, nvbench::type_list) +template +void bloom_filter_add(nvbench::state& state, nvbench::type_list) { using filter_type = cuco::bloom_filter, cuda::thread_scope_device, rebind_hasher_t, cuco::cuda_allocator, - BlockWords::value>; + BlockWords::value, + Word>; auto const num_keys = state.get_int64("NumInputs"); auto const filter_size_mb = state.get_int64("FilterSizeMB"); @@ -98,15 +99,16 @@ void bloom_filter_add(nvbench::state& state, nvbench::type_list -void bloom_filter_test(nvbench::state& state, nvbench::type_list) +template +void bloom_filter_test(nvbench::state& state, nvbench::type_list) { using filter_type = cuco::bloom_filter, cuda::thread_scope_device, rebind_hasher_t, cuco::cuda_allocator, - BlockWords::value>; + BlockWords::value, + Word>; auto const num_keys = state.get_int64("NumInputs"); auto const filter_size_mb = state.get_int64("FilterSizeMB"); @@ -144,9 +146,10 @@ NVBENCH_BENCH_TYPES(bloom_filter_add, NVBENCH_TYPE_AXES(defaults::KEY_TYPE_RANGE, nvbench::type_list>, nvbench::type_list>, + nvbench::type_list, nvbench::type_list)) .set_name("bloom_filter_add_unique_size") - .set_type_axes_names({"Key", "Hash", "BlockWords", "Distribution"}) + .set_type_axes_names({"Key", "Hash", "BlockWords", "Word", "Distribution"}) .set_max_noise(defaults::MAX_NOISE) .add_int64_axis("NumInputs", {defaults::N}) .add_int64_axis("FilterSizeMB", defaults::FILTER_SIZE_MB_RANGE_CACHE) @@ -156,9 +159,10 @@ NVBENCH_BENCH_TYPES(bloom_filter_add, NVBENCH_TYPE_AXES(defaults::KEY_TYPE_RANGE, defaults::HASH_RANGE, nvbench::type_list>, + nvbench::type_list, nvbench::type_list)) .set_name("bloom_filter_add_unique_hash") - .set_type_axes_names({"Key", "Hash", "BlockWords", "Distribution"}) + .set_type_axes_names({"Key", "Hash", "BlockWords", "Word", "Distribution"}) .set_max_noise(defaults::MAX_NOISE) .add_int64_axis("NumInputs", {defaults::N}) .add_int64_axis("FilterSizeMB", {defaults::FILTER_SIZE_MB}) @@ -168,10 +172,11 @@ NVBENCH_BENCH_TYPES( bloom_filter_add, NVBENCH_TYPE_AXES(defaults::KEY_TYPE_RANGE, nvbench::type_list>, - nvbench::type_list, BlockWords<2>, BlockWords<4>>, + nvbench::type_list, BlockWords<2>, BlockWords<4>, BlockWords<8>>, + nvbench::type_list, nvbench::type_list)) .set_name("bloom_filter_add_unique_subfilter") - .set_type_axes_names({"Key", "Hash", "BlockWords", "Distribution"}) + .set_type_axes_names({"Key", "Hash", "BlockWords", "Word", "Distribution"}) .set_max_noise(defaults::MAX_NOISE) .add_int64_axis("NumInputs", {defaults::N}) .add_int64_axis("FilterSizeMB", {defaults::FILTER_SIZE_MB}) @@ -181,9 +186,10 @@ NVBENCH_BENCH_TYPES(bloom_filter_test, NVBENCH_TYPE_AXES(defaults::KEY_TYPE_RANGE, nvbench::type_list>, nvbench::type_list>, + nvbench::type_list, nvbench::type_list)) .set_name("bloom_filter_test_unique_size") - .set_type_axes_names({"Key", "Hash", "BlockWords", "Distribution"}) + .set_type_axes_names({"Key", "Hash", "BlockWords", "Word", "Distribution"}) .set_max_noise(defaults::MAX_NOISE) .add_int64_axis("NumInputs", {defaults::N}) .add_int64_axis("FilterSizeMB", defaults::FILTER_SIZE_MB_RANGE_CACHE) @@ -193,9 +199,10 @@ NVBENCH_BENCH_TYPES(bloom_filter_test, NVBENCH_TYPE_AXES(defaults::KEY_TYPE_RANGE, defaults::HASH_RANGE, nvbench::type_list>, + nvbench::type_list, nvbench::type_list)) .set_name("bloom_filter_test_unique_hash") - .set_type_axes_names({"Key", "Hash", "BlockWords", "Distribution"}) + .set_type_axes_names({"Key", "Hash", "BlockWords", "Word", "Distribution"}) .set_max_noise(defaults::MAX_NOISE) .add_int64_axis("NumInputs", {defaults::N}) .add_int64_axis("FilterSizeMB", {defaults::FILTER_SIZE_MB}) @@ -205,10 +212,11 @@ NVBENCH_BENCH_TYPES( bloom_filter_test, NVBENCH_TYPE_AXES(defaults::KEY_TYPE_RANGE, nvbench::type_list>, - nvbench::type_list, BlockWords<2>, BlockWords<4>>, + nvbench::type_list, BlockWords<2>, BlockWords<4>, BlockWords<8>>, + nvbench::type_list, nvbench::type_list)) .set_name("bloom_filter_test_unique_subfilter") - .set_type_axes_names({"Key", "Hash", "BlockWords", "Distribution"}) + .set_type_axes_names({"Key", "Hash", "BlockWords", "Word", "Distribution"}) .set_max_noise(defaults::MAX_NOISE) .add_int64_axis("NumInputs", {defaults::N}) .add_int64_axis("FilterSizeMB", {defaults::FILTER_SIZE_MB})