NVIDIA / NVIDIA/cccl

[EPIC]: Port `std` equivalent parallel algorithms from thrust to `cuda::std`

Open
#5,592 0 comments 0 reactions 1 assignee Claimed by @miscco View on GitHub
Dominant language
C++
Stars
2.5k
Forks
486
Avg merge
2d 6h
Merged PRs (30d)
295

Description

We want to move thrust parallel algorithms that are equivalent to the standard provided ones to `cuda::std`

This has the clear benefit that we can rely on the familiarity of standard algorithms for C++ users and also simplifies the library design of CCCL.

This issue can be closed by merging implementations of all `cuda::std::` parallel algorithms that are implementable with existing `cub::Device*` algorithms (see list of sub-issues below)

- Can be included via `#include `
- `cuda::execution::gpu` (name TBD) execution policy for targeting GPU backend implemented with CUB algorithms
- This execution policy should be synchronous and need not support passing streams nor memory resources (can be done in future work)
- Use of the other standard execution policies (seq, par, par_unseq, unseq) should fail to compile
- Algorithms should be host-only and do not support CUDA dynamic parallelism
- Algorithms will not support CUDA Graph Capture

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.