Repository navigation
Replace cuco hashers with cuda::hash - #877
Draft
PointKernel wants to merge 4 commits into
Draft
PointKernel wants to merge 4 commits into
PointKernel wants to merge 4 commits into
Conversation
Remove the cuco xxHash and MurmurHash3 implementations and named aliases, and use the matching CUDA algorithms in containers, tests, and benchmarks. Retain identity and fmix, preserve the existing default algorithms and seeds, and require CCCL 3.6.0.
Drop cuco::identity_hash and the fmix hashers along with their test and benchmark entries. Callers can pass cuda::std::identity, so accept by-reference results in the bloom filter policy's hash check.
PointKernel
force-pushed
the
migrate-cuda-hash
branch
from
November 13, 2026 21:39
479f980 to
6c7490b
Compare
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 cuco's own xxHash and MurmurHash3 implementations with
cuda::hashfrom CCCL and removes the remaining cuco hashers,identity_hashand the MurmurHash3 finalizers. It requires CCCL 3.6.0, which includes the fix for the unaligned load issue incuda::hash(NVIDIA/cccl#11870) that previously blocked this migration.Containers, benchmarks, and tests now use the matching
cuda::hashalgorithms, anddefault_hash_functionkeeps the same algorithm and seed. Callers that usedcuco::identity_hashcan passcuda::std::identity; for that, the Bloom filter policy's 64-bit hash check now also accepts hash functors that return a reference.