Enable opt-out for bitwise comparable payload requirement
Nobody has claimed this yet.
- Dominant language
- Cuda
- Stars
- 667
- Forks
- 120
- Avg merge
- 7d 5h
- Merged PRs (30d)
- 4
Description
Background
We currently require payload types to be bitwise comparable, which is required when we use the "packed CAS" insertion strategy.
Discussion from #426:
we could consider skipping the packed-CAS code path when is_bitwise_comparable_v(Key) && !is_bitwise_comparable_v(Value)
I'd rather keep performance-related settings as an opt-out rather than opt-in, i.e., we could add a global flag CUCO_REQUIRE_BITWISE_COMPARABLE_PAYLOADS which is on by default but can be turned off by the user.
This, of course, should be documented with an example.
Originally posted by @sleeepyjack in https://github.com/NVIDIA/cuCollections/discussions/426#discussioncomment-8213879
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the packed-CAS insertion path and the is_bitwise_comparable_v check. Trace how payload requirements are enforced, then identify the documentation location for the requested example. Done means the default requirement remains enabled, users can opt out through CUCO_REQUIRE_BITWISE_COMPARABLE_PAYLOADS, and the opt-out is documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100