From 1c36b9f14db5528bdf08e4e19b90d89bae9111e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20J=C3=BCnger?= Date: Wed, 28 Aug 2024 01:01:18 +0000 Subject: [PATCH] Refine benchmarks --- benchmarks/bloom_filter/bloom_filter_bench.cu | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/benchmarks/bloom_filter/bloom_filter_bench.cu b/benchmarks/bloom_filter/bloom_filter_bench.cu index e396b1d58..e0cf23344 100644 --- a/benchmarks/bloom_filter/bloom_filter_bench.cu +++ b/benchmarks/bloom_filter/bloom_filter_bench.cu @@ -86,6 +86,7 @@ void bloom_filter_add(nvbench::state& state, nvbench::type_list(state), keys.begin(), keys.end()); state.add_element_count(num_keys); + state.add_global_memory_writes(num_keys * filter_type::block_words); filter_type filter{num_sub_filters, static_cast(pattern_bits)}; @@ -125,6 +126,7 @@ void bloom_filter_test(nvbench::state& state, nvbench::type_list(state), keys.begin(), keys.end()); state.add_element_count(num_keys); + state.add_global_memory_reads(num_keys * filter_type::block_words); filter_type filter{num_sub_filters, static_cast(pattern_bits)}; @@ -175,7 +177,7 @@ NVBENCH_BENCH_TYPES( nvbench::type_list, BlockWords<2>, BlockWords<4>, BlockWords<8>>, nvbench::type_list, nvbench::type_list)) - .set_name("bloom_filter_add_unique_subfilter") + .set_name("bloom_filter_add_unique_block_words") .set_type_axes_names({"Key", "Hash", "BlockWords", "Word", "Distribution"}) .set_max_noise(defaults::MAX_NOISE) .add_int64_axis("NumInputs", {defaults::N}) @@ -215,9 +217,38 @@ NVBENCH_BENCH_TYPES( nvbench::type_list, BlockWords<2>, BlockWords<4>, BlockWords<8>>, nvbench::type_list, nvbench::type_list)) - .set_name("bloom_filter_test_unique_subfilter") + .set_name("bloom_filter_test_unique_block_words") .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}) .add_int64_axis("PatternBits", {defaults::PATTERN_BITS}); + +// benchmark outer product of configuration space +// NVBENCH_BENCH_TYPES( +// bloom_filter_add, +// NVBENCH_TYPE_AXES(defaults::KEY_TYPE_RANGE, +// nvbench::type_list, cuco::xxhash_64>, +// nvbench::type_list, BlockWords<2>, BlockWords<4>, +// BlockWords<8>>, nvbench::type_list, +// nvbench::type_list)) +// .set_name("bloom_filter_add_unique_product") +// .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) +// .add_int64_axis("PatternBits", {1, 2, 4, 6, 8, 10}); + +// NVBENCH_BENCH_TYPES( +// bloom_filter_test, +// NVBENCH_TYPE_AXES(defaults::KEY_TYPE_RANGE, +// nvbench::type_list, cuco::xxhash_64>, +// nvbench::type_list, BlockWords<2>, BlockWords<4>, +// BlockWords<8>>, nvbench::type_list, +// nvbench::type_list)) +// .set_name("bloom_filter_test_unique_product") +// .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) +// .add_int64_axis("PatternBits", {1, 2, 4, 6, 8, 10});