Skip to content

Migrate RMM usage to CCCL MR design#1035

Draft
bdice wants to merge 1 commit intoNVIDIA:mainfrom
bdice:rmm-cccl-migration
Draft

Migrate RMM usage to CCCL MR design#1035
bdice wants to merge 1 commit intoNVIDIA:mainfrom
bdice:rmm-cccl-migration

Conversation

@bdice
Copy link
Copy Markdown
Contributor

@bdice bdice commented Apr 3, 2026

Summary

  • Remove dependency on rmm::mr::device_memory_resource base class; resources now satisfy the cuda::mr::resource concept directly
  • Replace shared_ptr<device_memory_resource> with value types and cuda::mr::any_resource<cuda::mr::device_accessible> for type-erased storage
  • Replace set_current_device_resource(ptr) / set_per_device_resource(id, ptr) with set_current_device_resource_ref / set_per_device_resource_ref
  • Remove make_owning_wrapper usage and dynamic_cast on memory resources (no common base class)
  • Add missing thrust/iterator/transform_output_iterator.h include (no longer transitively included via CCCL)

Details

8 files changed, 24 insertions, 41 deletions. C++ build passes (all 62 targets). Cython build failures are pre-existing (missing pylibraft dev headers, unrelated to this change).

Remove dependency on rmm::mr::device_memory_resource base class. Resources
now satisfy the cuda::mr::resource concept directly.

- Replace shared_ptr<device_memory_resource> with value types and
  cuda::mr::any_resource<cuda::mr::device_accessible> for type-erased storage
- Replace set_current_device_resource(ptr) with set_current_device_resource_ref
- Replace set_per_device_resource(id, ptr) with set_per_device_resource_ref
- Remove make_owning_wrapper usage
- Remove dynamic_cast on memory resources (no common base class)
- Remove owning_wrapper.hpp and device_memory_resource.hpp includes
- Add missing thrust/iterator/transform_output_iterator.h include
  (no longer transitively included via CCCL)
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot bot commented Apr 3, 2026

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.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant