Retire the `thrust::[system]::cuda_cub` namespaces
Open
- Dominant language
- C++
- Stars
- 2.5k
- Forks
- 486
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 295
Description
Thrust has a namespace for each system (backend), except for the CUDA backend, which lives in two namespaces `cuda` and `cuda_cub`. This is worked around in various places by providing aliases in the corresponding other namespace. Most entities are defined in `cuda_cub`, but the backend selection macros (like `__THRUST_DEVICE_SYSTEM_NAMESPACE`) use `cuda`.
I think we should clean this up and move all of the CUDA backend into the `cuda` namespace. Aliases should remain in the `cuda_cub` namespace and be deprecated for removal in CCCL 4.0.
Contributor guide
Assessment
This issue has not been assessed yet.