Skip to content

Replace Bloom filter Word with WordBytes - #833

Merged
PointKernel merged 1 commit into
NVIDIA:devfrom
sleeepyjack:bf-word-bytes
Aug 14, 2026
Merged

Replace Bloom filter Word with WordBytes#833
PointKernel merged 1 commit into
NVIDIA:devfrom
sleeepyjack:bf-word-bytes

Conversation

@sleeepyjack

@sleeepyjack sleeepyjack commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

This PR replaces the user-specified Word type in bloom_filter_policy with a WordBytes parameter supporting 4- and 8-byte words. The policy selects the corresponding native atomicOr type internally, preventing users from supplying incompatible word types and removing the associated validation and conversion machinery. By removing the stale cuda::atomic_ref::fetch_or inspection, this also fixes the cuCollections compatibility issue exposed by NVIDIA/cccl#10727 and supersedes #832.

@sleeepyjack sleeepyjack self-assigned this Aug 13, 2026
@sleeepyjack sleeepyjack added type: improvement Improvement / enhancement to an existing function topic: bloom_filter Issues related to bloom_filter labels Aug 13, 2026
@sleeepyjack sleeepyjack changed the title Replace Bloom filter Word with WordBytes and remove policy shim Replace Bloom filter Word with WordBytes and remove cudf policy shim Aug 13, 2026
@NVIDIA NVIDIA deleted a comment from copy-pr-bot Bot Aug 13, 2026
Comment thread include/cuco/bloom_filter_policy.cuh

@PointKernel PointKernel left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 sleeepyjack changed the title Replace Bloom filter Word with WordBytes and remove cudf policy shim Replace Bloom filter Word with WordBytes Aug 14, 2026

@PointKernel PointKernel left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great. Thanks

PersistingL2Access>;
using parametric_filter_policy =
detail::bloom_filter_policy<Hash,
static_cast<std::uint32_t>(sizeof(Word)),

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice

@PointKernel
PointKernel merged commit 4b26118 into NVIDIA:dev Aug 14, 2026
23 checks passed
@sleeepyjack
sleeepyjack deleted the bf-word-bytes branch August 14, 2026 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

topic: bloom_filter Issues related to bloom_filter type: improvement Improvement / enhancement to an existing function

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants