You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[EPIC]: Env-based overloads implementation for all CUB device primitives #5635
For every existing CUB device overload add an env-based counterpart that uses the new environment facilities from libcu++.
The goal is that we provide CUB device overloads that do not require explicit memory allocation which requires a 2-phase call. The existing CUB API looks like this:
When the new APIs are added CUB should allow for the users to call the primitives like this:
auto env = cuda::execution::require(cuda::execution::determinism::run_to_run);
// Single call: allocation and execution in one callcub::DeviceReduce::Sum(input.begin(), output.begin(), input.size(), env);
changed the title [-][EPIC]: Tracking env-based overloads implementation for all CUB primitives[/-][+][EPIC]: Track env-based overloads implementation for all CUB device primitives[/+]on Aug 22, 2025
Activity
[-][EPIC]: Tracking env-based overloads implementation for all CUB primitives[/-][+][EPIC]: Track env-based overloads implementation for all CUB device primitives[/+]bdice commentedon Dec 11, 2025
@gonidelis asked for help prioritizing this. I did a quick analysis of usage in cuDF. Here are our priorities:
CUB Device Algorithm Usage in libcudf
Total: 97 usages across 23 distinct algorithms
16 remaining items
gonidelis commentedon Apr 29, 2026
Full API is covered by env overloads. Follow-up iterations, improvements and missing bits will be taking place as part of #8175