Refactor Bloom filter policy API - #827
Conversation
|
/ok to test 93f5607 |
Rename the Bloom filter policy/header, make the policy key-based with an explicit hash parameter, and use it directly as the default policy. Default the policy word/block shape, vectorization layouts, and tuning booleans.
93f5607 to
9aa0018
Compare
|
/ok to test 9aa0018 |
PointKernel
left a comment
There was a problem hiding this comment.
Could add an parametric_filter_policy alias for smooth cudf transition otherwise looks good to me.
You mean as a shim until cudf adopts the new policy name? Ideally this is a one line change/rename ( |
Yes
A one-line breaking change is still a breaking change. It's not a big deal, though. |
| false, | ||
| false>; |
There was a problem hiding this comment.
Oh, I forgot to mention: this could use strong types to improve readability and help avoid misuse. It's not a change request in this PR and we can revisit it later if we think it's worthwhile.
There was a problem hiding this comment.
Yes, plain bools in public interface are bad. This policy is going to be the environment/tuning in the cudax port. Ideally we chose a design that is similar to these.
Depends on #827. - Add optional persisting-L2 Bloom filter accesses using `cuda::associate_access_property` - Add benchmarks toggles for persisting-L2 access in `add` and `contains` - Add a documented CUDA runtime example that sets aside L2, runs `add`/`contains`, then resets the set-aside - Add tests pinned vs. unpinned equivalency
`rapids-cmake` just bumped the commit used for `cuCollections` in builds, leading to `cuvs` build failures. Here we fix usage of `cuco::default_filter_policy` that were changed in NVIDIA/cuCollections#827. Also fixes some fallout from rapidsai/rmm#2527, merging in #2503 (as well as a few small fixups). Closes #2503. Authors: - Jim Crist-Harif (https://github.com/jcrist) - Tim Head (https://github.com/betatim) Approvers: - Divye Gala (https://github.com/divyegala) URL: #2504
parametric_filter_policytobloom_filter_policyand rename the public/detail headersdefault_filter_policywith direct use ofcuco::bloom_filter_policy<Key>