Replace Bloom filter Word with WordBytes - #833
Open
sleeepyjack wants to merge 1 commit into
Open
Conversation
sleeepyjack
force-pushed
the
bf-word-bytes
branch
from
August 13, 2026 23:40
b58506e to
a5a3c56
Compare
Word with WordBytes and remove policy shimWord with WordBytes and remove cudf policy shim
PointKernel
reviewed
Aug 14, 2026
| bool ConditionalAdd, | ||
| bool EarlyExitContains, | ||
| bool PersistingL2Access = false> | ||
| using parametric_filter_policy = detail::bloom_filter_policy<Hash, |
Member
There was a problem hiding this comment.
Let’s do it separately. I just realized that the new filter policy hasn’t landed in rapids-cmake yet, and we’ve already started removing the parametric one.
PointKernel
reviewed
Aug 14, 2026
PointKernel
left a comment
Member
There was a problem hiding this comment.
cuDF is still using the parametric policy because the current rapids-cmake fetches a Git tag from one commit before the new filter policy was introduced. Could we keep the existing parametric policy as-is while also exposing the new policy with WordBytes?
cuDF CI has been quite fragile recently, so introducing a breaking change could cause additional issues and potentially block the cuco version bump in rapids-cmake.
Select native atomicOr word types internally while retaining the deprecated parametric_filter_policy compatibility shim.
sleeepyjack
force-pushed
the
bf-word-bytes
branch
from
August 14, 2026 21:37
a5a3c56 to
955aa96
Compare
Word with WordBytes and remove cudf policy shimWord with WordBytes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR replaces the user-specified
Wordtype inbloom_filter_policywith aWordBytesparameter supporting 4- and 8-byte words. The policy selects the corresponding nativeatomicOrtype internally, preventing users from supplying incompatible word types and removing the associated validation and conversion machinery. By removing the stalecuda::atomic_ref::fetch_orinspection, this also fixes the cuCollections compatibility issue exposed by NVIDIA/cccl#10727 and supersedes #832.For compatibility with the current cuDF integration, the deprecated
parametric_filter_policyalias remains temporarily. It translates the legacyWordparameter into the new design throughsizeof(Word), so the user-specified type does not reach Bloom filter storage or atomic operations. Removing the shim will be handled separately after the cuco version update inrapids-cmake.