[FEA]: C++29 `<cuda/std/bit>` Implement Bit permutations
- Dominant language
- C++
- Stars
- 2.5k
- Forks
- 486
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 295
Description
### Is this a duplicate?
- [x] I confirmed there appear to be no [duplicate issues](https://github.com/NVIDIA/cccl/issues) for this request and that I agree to the [Code of Conduct](CODE_OF_CONDUCT.md)
### Area
libcu++
### Is your feature request related to a problem? Please describe.
`` and `cuda/std/simd` currently misses C++29 bit operations https://eel.is/c++draft/bit#permute and https://eel.is/c++draft/simd#bit
### Describe the solution you'd like
Implement:
- [ ] `bit_reverse` (we already have `cuda::bit_reverse`)
- [ ] `bit_repeat`
- [ ] `bit_compress`
- [ ] `bit_expand`
- [ ] `cuda::std::simd` binding
### Describe alternatives you've considered
_No response_
### Additional context
_No response_
Contributor guide
Research direction
Start by reading the existing implementation, including its current bit_reverse support, and then review the cuda/std/simd entry point alongside the linked C++ draft sections. Done means implementing bit_reverse, bit_repeat, bit_compress, and bit_expand, plus the requested cuda::std::simd binding.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend-api-design
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100