Skip to content

Migrate stream APIs from rmm::cuda_stream_view to cuda::stream_ref #318

Closed
1 of 1 issue completed
Closed

Description

@bdice

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.

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

Preparation pull requests

These independently adopt the get() and sync() compatibility aliases from RMM #2537, reducing the migration PRs to the type and signature changes that require RMM #2372.

Pull requests

Activity

  1. changed the title [-]Migrate pooled stream usage to cuda::stream_ref[/-] [+]Migrate rmm::cuda_stream_view usage to cuda::stream_ref[/+] on Sep 2, 2026
  2. changed the title [-]Migrate rmm::cuda_stream_view usage to cuda::stream_ref[/-] [+]Migrate RAPIDS stream APIs from rmm::cuda_stream_view to cuda::stream_ref[/+] on Sep 2, 2026
  3. changed the title [-]Migrate RAPIDS stream APIs from rmm::cuda_stream_view to cuda::stream_ref[/-] [+]Migrate stream APIs from rmm::cuda_stream_view to cuda::stream_ref[/+] on Sep 2, 2026
  4. 1 remaining item

  5. self-assigned this
    on Sep 13, 2026
  6. bdice commented on Sep 14, 2026

    @bdice
    ContributorAuthor

    I think all of this work is complete! Next steps will be to remove rmm::cuda_stream_view from RMM in 26.12.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

breakingIntroduces a breaking changeepic

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions