Skip to content

Migrate stream APIs from rmm::cuda_stream_view to cuda::stream_ref - #742

Merged
rapids-bot[bot] merged 3 commits into
rapidsai:mainfrom
bdice:cuda-stream-ref
Sep 3, 2026
Merged

Migrate stream APIs from rmm::cuda_stream_view to cuda::stream_ref#742
rapids-bot[bot] merged 3 commits into
rapidsai:mainfrom
bdice:cuda-stream-ref

Conversation

@bdice

@bdice bdice commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Summary

Track the coordinated migration of stream APIs and call sites from rmm::cuda_stream_view to CCCL's cuda::stream_ref. This propagates cuda::stream_ref through RMM containers and memory resources, RAFT resource and handle APIs, downstream C++ interfaces, Python/Cython bindings, benchmarks, tests, and documentation.

This updates UCXX RMM-backed tests and benchmarks to construct CUDA Core default stream references, synchronize them with .sync(), and extract raw handles for CUDA runtime calls.

Depends on rapidsai/rmm#2372.

Tracked in rapidsai/build-planning#318.

Migrations

  • Pass cuda::stream_ref through stream pools, resource accessors, conditionals, and downstream APIs without converting to rmm::cuda_stream_view
  • Use cuda::stream_ref constructions for default/legacy/per-thread streams
    • rmm::cuda_stream_default ➡️ cuda::stream_ref{cudaStream_t{cudaStreamDefault}}
    • rmm::cuda_stream_legacy ➡️ cuda::stream_ref{cudaStreamLegacy}
    • rmm::cuda_stream_per_thread ➡️ cuda::stream_ref{cudaStreamPerThread}
  • Use .get() when calling an API that requires a raw cudaStream_t, including CUDA runtime, library, CUB, and legacy API boundaries (previously rmm::cuda_stream_view used value())
  • Use .sync() when synchronizing a cuda::stream_ref (previously rmm::cuda_stream_view used synchronize())
  • Update Cython declarations and call sites to pass stream references directly where supported

@copy-pr-bot

copy-pr-bot Bot commented Sep 2, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@bdice bdice changed the title Pass raw RMM streams to CUDA APIs Migrate stream APIs from rmm::cuda_stream_view to cuda::stream_ref Sep 2, 2026
@bdice
bdice marked this pull request as ready for review September 2, 2026 22:55
@bdice
bdice requested a review from a team as a code owner September 2, 2026 22:55
@bdice bdice added breaking Introduces a breaking change improvement Improves an existing functionality labels Sep 3, 2026
@pentschev

Copy link
Copy Markdown
Member

/merge

@rapids-bot
rapids-bot Bot merged commit ca0a250 into rapidsai:main Sep 3, 2026
86 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Introduces a breaking change improvement Improves an existing functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants