CCCL Runtime: A Modern C++ Runtime for CUDA

Originally published at: CCCL Runtime: A Modern C++ Runtime for CUDA | NVIDIA Technical Blog

The NVIDIA CUDA Core Compute Libraries (CCCL) provides delightful and efficient abstractions for CUDA developers in C++ and Python. It features: Parallel algorithms – Host-launched algorithms including sort, scan and reduce that remove the need to write custom kernels for common operations  Cooperative algorithms – Device-side algorithms such as block-wide or warp-wide reductions or scans…

Nice. I like it. Documentation does not mention error handling at all. Is this via cudaGetLastError()?

Yes, the error handling section was missed, thank you for pointing it out. I added a section in the documentation (Runtime — CUDA Core Compute Libraries) and a paragraph at the end of the blog

Maybe you want to add a remark that those exceptions are kind of asynchronous - they may be raised due to errors in different calls. Obvious to the CUDA programmer, not so obvious to C++ people.