Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ We plan to add many GPU-accelerated, concurrent data structures to `cuCollection

#### Examples:
- [Host-bulk APIs (Default fingerprinting policy)](https://github.com/NVIDIA/cuCollections/blob/dev/examples/bloom_filter/host_bulk_example.cu) (see [live example in godbolt](https://godbolt.org/clientstate/eJydVgtr40YQ_iuDCq2dWH6E3h3IccC9aw7DcckloRTqYtarkbVE3lX34YsJ-e-dXUm27DhHqQxGmvd88-1Iz5FBY4SSJkr-eo5EGiWjXlQwuXJshVEScZeyqBcZ5TT3z4OzuYQzuL_99Gd8LQr8qMqtFqvcPuCTTWD3CB3ehYvhxa8x_b3vwdc_Zp9mU_h4c3d7czd9mN18hZ9hen09-zKbPvx-34dpUUDwNKDRoN5g2t-n-iI4SoPxLEVpRSZQJzAtGc8xvugPvd1gLufyJyF54VKES-64GiwLpdaLTBQWdZ-7_OrQxubaGTvgyknb98pXqhQ3lHixQW6VPm2CT8idJQQXpSoE3562MviPQ8mxf1yDUMZqZOsgFtLCmgnZ2SiRdufymRoDL-Q0IItPpQbp1otH3BqgawKj4S_D4XAMu2swGFzCZ5SomcVaDd7-dCRbVm6TfdwzGPbfjetIM8JcW7A5Qia0sZCzIgvxfDBVKwK8bySQrxLEdebxaw_jlvW0DHlchM5CHXTrlXGjLFFDGG6d3YPnTX1pYLclVaWOLQCcEXLlTRbBZOKzj3eu9yX7LoEdeMF3YXNIMWOusFANGJhMjwsK3XvKJUmbc5dNrqs63nOrw5c6tbFpkhAHLVxewjz6zRWPVFjAPWD8dj0ZtYO61B7EVTVz4mFdZkKx5hJaF4UPuVCmRZ27YmeSHPC8VbUfWKeZXHfcdmkY3fGq_hJXRNtuL3j0KYO_H3XrNMx5rpSLYEW4t13GbQNyDGTZ2Z63yVJZyV2YyuFA1QTYl7Ef8GkyqyxIgoM3rOnM0rTTVNGrM3V_iNpSqeLKW9L6oul0qsJ7kLHC4CF2Jx1l2_HgpLRi1K18c6i3rdMX6O4fS02hlTPFtuYQpvvWyPEhFwZMrlyRQpWO7Ij0VjuMS2WEFRuEsDwImIfbu8mojQodVUv7ybyCprdvvBnsfyk3tGlzZoFpBKmsb8DQivdVHS0Xf0RpbeLBgTDBsdRqyQphrOCQMsuI59px6yhWrxWmjoJPuVgKes-wCtejvq9v766GdMZKasvvC1VVQqNYUuWESvAVTW-trvxiODTNmcnR0OKhMfidRf2ehlPu4JQ1nPINOLNCEVwebV_spDriQdhp6BVeaJ1Dsp0YUFtUn1hPg24XBnXAin4Vd6u82f_Ie9xJW_SDvLJ7ekF6Us4jf9-AEMR-brU828uPF55GYoWEIT2-0GcNV-uSPmL0_usnkhvORxfv3IjUqrTVp1EUU6AJPz8ffYCYaZ5PzHrxYQhxTO8tS3-WcmAaF2y9DN9LhVi2YnLOCxJuKBHFIwH1Kx-jl16jpzfHgZ6wi17-Dr9_AWLvS3Y=))
- [Persisting L2 access](https://github.com/NVIDIA/cuCollections/blob/dev/examples/bloom_filter/persisting_l2_example.cu) (see [live example in godbolt](https://godbolt.org/clientstate/eJzVWI1v2zYW_1cePKyzO1v-iGOnbmPAS9uDgXTJ0my34TLINEVHRChSJ1KJvbb_-x5JSZZjJ7i7DjhMLWKLfPy97w_6U0MzrbmSujH516cGjxqTfrshiLzNyS1rTBo0j0ij3dAqz6h97768kfASPl6-_bXzngt2ptJNxm9jc83WZgLVKzRpCwa9wagNP_4yfzufwdnF1eXF1ex6fvEjvIDZ-_fz8_ns-t3HAGZCgDukIWOaZfcsCrZczjllUrPOPGLS8BVn2QRmKaEx6wyCnqXr3sgb-Q2XVOQRgzc0p6q7FEol4YoLw7KA5vF0jyJihnDRZVmmsiBO0-kuiomzXBukukf-4T2jxpJND5Bo9u-cScrc7g4bbaKIraaP17g0jhI_ISFcNu8Vj1o38hMqA92X1sKA2l_HXANbkyQVDHSsHjTgHzAKaMaIYUDgB6sleC3BxMTiZXcaOJrSr3YeVBYBoRTdzDQQXYCnLNNcGy5vgUs4HwCRUQlfOKFrPw3CMqAqw5dUycgeQGrc6BDNUaMHbmJHc_bz21kBnuXoqYTB7HIe-KVKJQaLy4r1-WDmBDs1Wc4WkCrB6QZSkpGEWY0ScocyL6y7JpO6RxfAEm6sEh2vGsq0rxi1QQIxmhmtoTK4FWpJRCdhico2pdWsfXTgJCv4RwqZSmVKO3icAp4SDD1uNrDcWCszsXoNJE3xIDE2jayjchFVZ0lNoM6O4ZYMZWLWdAW0c2anECuNiS6Mu7A5-NbF4Udmzjlq3rRL7lvdmGdWzo_8D9aGIAhaC-dT58R92wgubTiskNcDQQvUWJ2Z9ZU9tAfdbC123fmztvJjlCopNvAQM-kioVBhZaOQ-6VK7S7aoLRhG9Ap1ak7tgFtMLITiKswZVLltzEIRYmwVncxXqjBopJToQxaM2O5xuoB81VdEpQwySnCkOzWJ4oN-XYZrWgmzKIqRyjuUoURLHMiUC-bUriATi346Joh24iWEe1ToGbfjN1iOJQsrCO0wOzKZcYEsaLfsUwyocGminh82kcu9_XQ7Bq9KKdX17_C5dUFjHq9HoYOoXcPDOvoB7Lu_AT_VFgFjItIeBdx-9mG_uAEPvAfrOZYmXsf0DdpbjCKWaInOywKs2kMJfgMJIragHWM5MKUrzVZ0aGfnb2wkuk64XZth7rg0dk-SNt5-vXpxYOE_imYjIZOY_d8hmFwctKDRBevR8Gwd1y-ljSDYDgc7iy6tcEY1wpQxKiBngSD8agOerTlsWU87o32QYdHW9BXozpovx_0eqUYTtLxaB_0ZLwv6fH4eAtaerzYHASj3qACfRX0Xo0fgx4Hx8PjR6DHwdG4X4G6ZguQa-tNzNnQbFIGpxhM5rXfsm0NfY8Juk4zkHkSIplGkn7vOwzWgqrbhbODbayowq4e7YZZUeqZJEthk9w1SPzvCgy2DKy9BGUhuiyqyKMMR4_axn5KWWqK4iCJONSOFrUWhPAL152CrdYeyyu-85zCfqsKPfWb0lS-JPzvj-ewXmONjMPRsMKdfi0wDiaTSY7OOxqE5mvBTv7-AP3_O8BXq7AiQn91wP0lIDaFpq9tRnbfwOVzWW0ZkdwOuVUJWW4M0yHWghATi95hmtnOpFbNWiJOJnaQc19bdtJ5vFM7XytTfrpHQFuVAEfYs4vQzrHh9dVvbsb6BzN-8mq-8LStVu14QtbhtkSFYhC6xh26xvk0qEdE6JkxGV_mhjW9eV88B9iG4qw9hW3-icnvkZj1Mlu_JyhK85TjNHPS-xaUn5aQO0_yBHSepiqzQ8oTs6sdelgJX066xai2W7Lt2O34FbyLoVeQXNLY0uwMvcVMdCgG0BTIPnTsw1VGqJtt0MbByetdcjB2yjNl-fW-8PZ1IxFFm2rzxpU7uxmaafMw-stnHdx61rv_8aS-L23lu5pOOl8WJLaRHtCw-zhLtv53bbKwsL8eHroI-YuiUATvAnZcJUYlnD6adjtVvjLvpf1-t210xSZbG7y479jbh_JkgqMzI1GoqUpZ6AO3XU_dqXebB_5Us8GXQjt_A59Mdm7p25Zo5xPdLCcQ77DySHlrb9qtYInjumy22u5EwGRkv_drSTSXGOUG8ELgSGz6q9oVwxmj-IoD8pOgrWcFXyolpjahcGKpxG77ClyT5aecZZvt1OPQa_zLufsZzTyLcq8G_Q7FMfv3RK1qNxf7t8pVvC27uzKXMcvwSo4pJoobs-WC-STpJjicKc9cNGsiXTHBiLtosqfq0RP4_2Um9iquGTN5Jl39_nIjG-0GVUnKBR6rfiVryHtK-4PjvI_bKjX-J7RGB8P8lH7_fX8MHZLR-FQn4biH1xQsYqbjUiFiUUeQZOl-VxN8WcOklApcvLfyKYkL2DblXeNLu9zHhNrZx_BpfPnd_fsTdEMSAg==))
- [Persisting L2 access](https://github.com/NVIDIA/cuCollections/blob/dev/examples/bloom_filter/persisting_l2_example.cu) (see [live example in godbolt](https://godbolt.org/clientstate/eJzVWAtv27YW_isHHtbZnS0_6tip2xjw0nYwkC5Zmr1wM8g0RUdEKFITqcRe2_--Q1KS5dgJdm8HXEwtYos8_M77QX9saKY1V1I3Jv_52OBRY9JvNwSRNzm5YY1Jg-YRabQbWuUZte_d59cSnsOHize_dt5xwU5Vusn4TWyu2NpMoHqFJm3BoDcYteGHn-dv5jM4Pb-8OL-cXc3Pf4BnMHv3bn42n129_RDATAhwhzRkTLPsjkXBlssZp0xq1plHTBq-4iybwCwlNGadQdCzdN1reS2_4pKKPGLwmuZUdZdCqSRccWFYFtA8nu5RRMwQLrosy1QWxGk63UUxcZZrg1R3yD-8Y9RYsukBEs3-yJmkzO3usNEmithq-nCNS-Mo8RMSwmXzTvGodS0_ojLQfW4tDKj9Vcw1sDVJUsFAx-peA_4Bo4BmjBgGBL6zWoLXEkxMLF52q4GjKf1q515lERBK0c1MA9EFeMoyzbXh8ga4hLMBEBmV8IUTuvbTICwDqjJ8SZWM7AGkxo0O0Rw1uucmdjSnP72ZFeBZjp5KGMwu5oFfqlRisLioWJ8NZk6wE5PlbAGpEpxuICUZSZjVKCG3KPPCumsyqXt0ASzhxirR8aqhTPuKURskEKOZ0RoqgxuhlkR0EpaobFNazdpHB06ygn-kkKlUprSDxyngKcHQ42YDy421MhOrV0DSFA8SY9PIOioXUXWW1ATq7BhuyVAmZk1XQDtndgqx0pjowrgLm4NvXBx-YOaMo-ZNu-S-1Y15auX8wP9kbQiCoLVwPnVO3LeN4NKGwwp53RO0QI3VqVlf2kN70M3WYtedP2krP0apkmID9zGTLhIKFVY2CrlfqtTuog1KG7YBnVKdumUb0AYjO4G4ClMmVX4Tg1CUCGt1F-OFGiwqORXKoDUzlmusHjBf1SVBCZOcIgzJbnyi2JBvl9GKZsIsqnKE4i5VGMEyJwL1simFC-jUgo-uGbKNaBnRPgVq9s3YDYZDycI6QgvMrlxmTBAr-i3LJBMabKqIh6d95HJfD82u0Ytyenn1K1xcnsOo1-th6BB6e8-wjr4n686P8IvCKmBcRMLbiNvPNvQHx_Cef2c1x8rce4--SXODUcwSPdlhUZhNYyjBJyBR1AasYyQXpnytyYoO_eTshZVM1wm3azvUBY_O9kHazuOvjy8eJPRPwWQ0dBq75xMMg-PjHiS6eH0RDHtH5WtJMwiGw-HOolsbjHGtAEWMGuhxMBiP6qAvtjy2jMe90T7o8MUW9OWoDtrvB71eKYaTdDzaBz0e70t6ND7agpYeLzYHwag3qEBfBr2X44egR8HR8OgB6FHwYtyvQF2zBci19SbmbGg2KYMTDCbzym_Ztoa-xwRdpxnIPAmRTCNJv_cNBmtB1e3C6cE2VlRhV492w6wo9UySpbBJ7hok_ncFBlsG1l6CshBdFlXkUYajR21jP6UsNUVxkEQcakeLWgtC-IXrTsFWa4_lFd95TmC_VYWe-nVpKl8S_vfHc1ivsUbG4WhY4U6_FHj4pQDH_36A_v8d4ItVWBGhvzjI_hEQmzbTVzYLu6_h4qlMtoxIbgfbqmwsN4bpEPM_xGSit5hathupVbOWfJOJHd7c15adbh7u1M7XSpOf6BHQViLAsfX0PLSza3h1-Zubq75nxk9bzWeettWqHU_IOtyWpVAMQtesQ9csHwf1iAg9Mybjy9ywpjfvs6cA21CctaewtT8y7T0Qs15a63cDRWmecpxgjntfg_ITEnLnSZ6AztNUZXYweWRetYMOK-HL6bYYz3bLtB21Hb-CdzHoCpJLGluanUG3mIMOxQCaAtmHjn24ygh18wzaODh-tUsOxk52piy53hfevm4MomhTbV7j3WsysZuhmTYPoz9_0sGtJ737t6fzfWkr39V00vmyILHN84CG3YdZsvW_a42Fhf2V8NDlx18OhSI4_9sRlRiVcPpgwu1U-cq8l_Z73La5FZtsbfCyvmNvH8qTCY7LjEShpiploQ_cdj11p95tHvhjzQafC-38rXsy2bmZb9ugnUl0s5w6vMPKI-VNvWm3giWO6LLZarsTAZOR_d6vJdFcYpQbwEuAI7Hpr2rXCmeM4isOxY-Ctp4UfKmUmNqEwimlErvtK3BNlh9zlm22k45Dr_EvZ-0nNPMsyr0a9FsUx-zfDbWq3Vbs3ypX8Ybs7sdcxizDazimmChuyZYL5pOkm-BwpjxxuayJdMkEI-5yyR6rR4_g_5eZ2Ku4ZszkmXT1-_O1bLQbVCUpF3is-mWsIe8o7Q-O8j5uq9T4n80aHQzzE_rtt_0xdEhG4xOdhOMeXk2wiJmOS4WIRR1BkqX7LU3wZQ2TUipw8c7KpyQuYNuUt43P7XIfE2pnH8On8fl39-8vIiINfw==))

### roaring_bitmap

Expand Down
38 changes: 18 additions & 20 deletions benchmarks/bloom_filter/add_bench.cu
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@
#include <thrust/sequence.h>

#include <cstdint>
#include <exception>
#include <limits>

using namespace cuco::benchmark; // defaults, dist_from_state, rebind_hasher_t
using namespace cuco::utility; // key_generator, distribution
Expand All @@ -28,20 +26,21 @@ using namespace cuco::utility; // key_generator, distribution
* @brief A benchmark evaluating `cuco::bloom_filter::add_async` performance
*/
template <typename Key,
typename Word,
nvbench::int32_t WordBytes,
nvbench::int32_t BlockBits,
nvbench::int32_t PatternBits,
nvbench::int32_t HorizontalLayout,
nvbench::int32_t VerticalLayout>
void bloom_filter_add(nvbench::state& state,
nvbench::type_list<Key,
Word,
nvbench::enum_type<WordBytes>,
nvbench::enum_type<BlockBits>,
nvbench::enum_type<PatternBits>,
nvbench::enum_type<HorizontalLayout>,
nvbench::enum_type<VerticalLayout>>)
{
auto constexpr words_per_block = BlockBits / cuda::std::numeric_limits<Word>::digits;
auto constexpr word_bits = WordBytes * cuda::std::numeric_limits<unsigned char>::digits;
auto constexpr words_per_block = BlockBits / word_bits;
auto constexpr pattern_bits_per_word = PatternBits / words_per_block;

// Check for a valid configuration
Expand All @@ -50,8 +49,7 @@ void bloom_filter_add(nvbench::state& state,
state.skip("Invalid filter block size");
} else if constexpr (HorizontalLayout * VerticalLayout != words_per_block) {
state.skip("Invalid vectorization layout");
} else if constexpr ((pattern_bits_per_word <= 0) or
(pattern_bits_per_word > cuda::std::numeric_limits<Word>::digits) or
} else if constexpr ((pattern_bits_per_word <= 0) or (pattern_bits_per_word > word_bits) or
(pattern_bits_per_word * words_per_block > 64)) {
state.skip("Invalid pattern bits per word");
} else {
Expand All @@ -60,7 +58,7 @@ void bloom_filter_add(nvbench::state& state,
auto constexpr contains_horizontal_layout = 1;
using policy_type = cuco::bloom_filter_policy<Key,
cuco::xxhash_64<Key>,
Word,
WordBytes,
words_per_block,
PatternBits,
HorizontalLayout,
Expand Down Expand Up @@ -104,15 +102,15 @@ void bloom_filter_add(nvbench::state& state,
// Default benchmark: single layout matching default `cuco::bloom_filter_policy`.
NVBENCH_BENCH_TYPES(bloom_filter_add,
NVBENCH_TYPE_AXES(nvbench::type_list<defaults::BF_KEY>,
nvbench::type_list<nvbench::uint32_t>, ///< Word
nvbench::enum_type_list<256>, ///< BlockBits
nvbench::enum_type_list<8>, ///< PatternBits
nvbench::enum_type_list<8>, ///< HorizontalLayout
nvbench::enum_type_list<1> ///< VerticalLayout
nvbench::enum_type_list<4>, ///< WordBytes
nvbench::enum_type_list<256>, ///< BlockBits
nvbench::enum_type_list<8>, ///< PatternBits
nvbench::enum_type_list<8>, ///< HorizontalLayout
nvbench::enum_type_list<1> ///< VerticalLayout
))
.set_name("bloom_filter_add_unique_size")
.set_type_axes_names(
{"Key", "Word", "BlockBits", "PatternBits", "HorizontalLayout", "VerticalLayout"})
{"Key", "WordBytes", "BlockBits", "PatternBits", "HorizontalLayout", "VerticalLayout"})
.add_int64_axis("NumInputs", {defaults::BF_N})
.add_int64_axis("FilterSizeMB", defaults::BF_SIZE_MB_RANGE_CACHE);

Expand All @@ -121,14 +119,14 @@ NVBENCH_BENCH_TYPES(bloom_filter_add,
// NVBENCH_BENCH_TYPES(
// bloom_filter_add,
// NVBENCH_TYPE_AXES(nvbench::type_list<defaults::BF_KEY>,
// nvbench::type_list<nvbench::uint64_t, nvbench::uint32_t>, ///< Word
// nvbench::enum_type_list<64, 128, 256, 512, 1024>, ///< BlockBits
// nvbench::enum_type_list<8, 16>, ///< PatternBits
// nvbench::enum_type_list<1, 2, 4, 8, 16>, ///<
// HorizontalLayout nvbench::enum_type_list<1, 2, 4, 8, 16> ///< VerticalLayout
// nvbench::enum_type_list<8, 4>, ///< WordBytes
// nvbench::enum_type_list<64, 128, 256, 512, 1024>, ///< BlockBits
// nvbench::enum_type_list<8, 16>, ///< PatternBits
// nvbench::enum_type_list<1, 2, 4, 8, 16>, ///< HorizontalLayout
// nvbench::enum_type_list<1, 2, 4, 8, 16> ///< VerticalLayout
// ))
// .set_name("bloom_filter_add_full_sweep_u64")
// .set_type_axes_names(
// {"Key", "Word", "BlockBits", "PatternBits", "HorizontalLayout", "VerticalLayout"})
// {"Key", "WordBytes", "BlockBits", "PatternBits", "HorizontalLayout", "VerticalLayout"})
// .add_int64_axis("NumInputs", {defaults::BF_N})
// .add_int64_axis("FilterSizeMB", defaults::BF_SIZE_MB_RANGE_CACHE);
42 changes: 19 additions & 23 deletions benchmarks/bloom_filter/contains_bench.cu
Original file line number Diff line number Diff line change
Expand Up @@ -18,30 +18,28 @@
#include <thrust/execution_policy.h>
#include <thrust/sequence.h>

#include <exception>
#include <limits>

using namespace cuco::benchmark; // defaults, dist_from_state, rebind_hasher_t
using namespace cuco::utility; // key_generator, distribution

/**
* @brief A benchmark evaluating `cuco::bloom_filter::contains_async` performance
*/
template <typename Key,
typename Word,
nvbench::int32_t WordBytes,
nvbench::int32_t BlockBits,
nvbench::int32_t PatternBits,
nvbench::int32_t HorizontalLayout,
nvbench::int32_t VerticalLayout>
void bloom_filter_contains(nvbench::state& state,
nvbench::type_list<Key,
Word,
nvbench::enum_type<WordBytes>,
nvbench::enum_type<BlockBits>,
nvbench::enum_type<PatternBits>,
nvbench::enum_type<HorizontalLayout>,
nvbench::enum_type<VerticalLayout>>)
{
auto constexpr words_per_block = BlockBits / cuda::std::numeric_limits<Word>::digits;
auto constexpr word_bits = WordBytes * cuda::std::numeric_limits<unsigned char>::digits;
auto constexpr words_per_block = BlockBits / word_bits;
auto constexpr pattern_bits_per_word = PatternBits / words_per_block;

// Check for a valid configuration
Expand All @@ -50,8 +48,7 @@ void bloom_filter_contains(nvbench::state& state,
state.skip("Invalid filter block size");
} else if constexpr (HorizontalLayout * VerticalLayout > words_per_block) {
state.skip("Invalid vectorization layout"); // TODO check if this is correct
} else if constexpr ((pattern_bits_per_word <= 0) or
(pattern_bits_per_word > cuda::std::numeric_limits<Word>::digits) or
} else if constexpr ((pattern_bits_per_word <= 0) or (pattern_bits_per_word > word_bits) or
(pattern_bits_per_word * words_per_block > 64)) {
state.skip("Invalid pattern bits per word");
} else {
Expand All @@ -60,7 +57,7 @@ void bloom_filter_contains(nvbench::state& state,
auto constexpr add_horizontal_layout = words_per_block;
using policy_type = cuco::bloom_filter_policy<Key,
cuco::xxhash_64<Key>,
Word,
WordBytes,
words_per_block,
PatternBits,
add_horizontal_layout,
Expand Down Expand Up @@ -113,8 +110,7 @@ void bloom_filter_contains(nvbench::state& state,
thrust::device_vector<Key> keys(num_keys);
thrust::sequence(thrust::device, keys.begin(), keys.end(), 0);

state.add_global_memory_reads<char>(num_keys *
((words_per_block * sizeof(Word)) + sizeof(Key)));
state.add_global_memory_reads<char>(num_keys * ((words_per_block * WordBytes) + sizeof(Key)));
state.add_global_memory_writes<char>(num_keys * sizeof(bool));

state.exec([&](nvbench::launch& launch) {
Expand All @@ -126,15 +122,15 @@ void bloom_filter_contains(nvbench::state& state,
// Default benchmark: single layout matching default `cuco::bloom_filter_policy`.
NVBENCH_BENCH_TYPES(bloom_filter_contains,
NVBENCH_TYPE_AXES(nvbench::type_list<defaults::BF_KEY>,
nvbench::type_list<nvbench::uint32_t>, ///< Word
nvbench::enum_type_list<256>, ///< BlockBits
nvbench::enum_type_list<8>, ///< PatternBits
nvbench::enum_type_list<1>, ///< HorizontalLayout
nvbench::enum_type_list<8> ///< VerticalLayout
nvbench::enum_type_list<4>, ///< WordBytes
nvbench::enum_type_list<256>, ///< BlockBits
nvbench::enum_type_list<8>, ///< PatternBits
nvbench::enum_type_list<1>, ///< HorizontalLayout
nvbench::enum_type_list<8> ///< VerticalLayout
))
.set_name("bloom_filter_contains_unique_size")
.set_type_axes_names(
{"Key", "Word", "BlockBits", "PatternBits", "HorizontalLayout", "VerticalLayout"})
{"Key", "WordBytes", "BlockBits", "PatternBits", "HorizontalLayout", "VerticalLayout"})
.add_int64_axis("NumInputs", {defaults::BF_N})
.add_int64_axis("FilterSizeMB", defaults::BF_SIZE_MB_RANGE_CACHE);

Expand All @@ -143,14 +139,14 @@ NVBENCH_BENCH_TYPES(bloom_filter_contains,
// NVBENCH_BENCH_TYPES(
// bloom_filter_contains,
// NVBENCH_TYPE_AXES(nvbench::type_list<defaults::BF_KEY>,
// nvbench::type_list<nvbench::uint64_t, nvbench::uint32_t>, ///< Word
// nvbench::enum_type_list<64, 128, 256, 512, 1024>, ///< BlockBits
// nvbench::enum_type_list<8, 16>, ///< PatternBits
// nvbench::enum_type_list<1, 2, 4, 8, 16>, ///<
// HorizontalLayout nvbench::enum_type_list<1, 2, 4, 8, 16> ///< VerticalLayout
// nvbench::enum_type_list<8, 4>, ///< WordBytes
// nvbench::enum_type_list<64, 128, 256, 512, 1024>, ///< BlockBits
// nvbench::enum_type_list<8, 16>, ///< PatternBits
// nvbench::enum_type_list<1, 2, 4, 8, 16>, ///< HorizontalLayout
// nvbench::enum_type_list<1, 2, 4, 8, 16> ///< VerticalLayout
// ))
// .set_name("bloom_filter_contains_full_sweep_u64")
// .set_type_axes_names(
// {"Key", "Word", "BlockBits", "PatternBits", "HorizontalLayout", "VerticalLayout"})
// {"Key", "WordBytes", "BlockBits", "PatternBits", "HorizontalLayout", "VerticalLayout"})
// .add_int64_axis("NumInputs", {defaults::BF_N})
// .add_int64_axis("FilterSizeMB", defaults::BF_SIZE_MB_RANGE_CACHE);
2 changes: 1 addition & 1 deletion examples/bloom_filter/persisting_l2_example.cu
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ int main(void)
// default policy, except the final `PersistingL2Access` parameter is `true`.
using policy_type = cuco::bloom_filter_policy<key_type,
cuco::xxhash_64<key_type>,
std::uint32_t,
4,
8,
8,
8,
Expand Down
Loading
Loading