Skip to content

Refactor limiting_resource_adaptor to shared CCCL MR design#2277

Merged
bdice merged 5 commits intorapidsai:stagingfrom
bdice:detemplate-limiting
Mar 10, 2026
Merged

Refactor limiting_resource_adaptor to shared CCCL MR design#2277
bdice merged 5 commits intorapidsai:stagingfrom
bdice:detemplate-limiting

Conversation

@bdice
Copy link
Copy Markdown
Collaborator

@bdice bdice commented Mar 6, 2026

Summary

  • Split limiting_resource_adaptor implementation into detail/limiting_resource_adaptor_impl.hpp + src/mr/detail/limiting_resource_adaptor_impl.cpp, using cuda::mr::shared_resource for shared ownership
  • Accept device_async_resource_ref upstream; class is now non-template
  • Add mr_ref_limiting_tests.cpp and integrate into cccl_adaptor_tests.cpp typed test suite
  • Update adaptor_tests.cpp type aliases, NullUpstream, Equality, and owning_wrapper Equality tests for non-template type with shared_resource semantics
  • Update Cython .pxd/.pyx bindings to match non-template C++ signature

Convert limiting_resource_adaptor from a class template to a non-template
class using the shared_resource pattern.

The adaptor now:
- Splits implementation into detail/limiting_resource_adaptor_impl.hpp and
  src/mr/detail/limiting_resource_adaptor_impl.cpp
- Inherits private cuda::mr::shared_resource<detail::limiting_resource_adaptor_impl>
- Accepts device_async_resource_ref upstream (not raw pointer)
- Retains device_memory_resource* constructor overload for backward compat
- Exposes get_property for cuda::mr::device_accessible
- Is copyable via shared_resource (shared ownership semantics)

Add mr_ref_limiting_tests.cpp with CcclMrRef test instantiations.
Add limiting_resource_adaptor to cccl_adaptor_tests.cpp typed test suite.
Update adaptor_tests.cpp, limiting_mr_tests.cpp, pool_mr_tests.cpp.
Update Cython pxd/pyx bindings to match non-template C++ signature.
@bdice bdice added breaking Breaking change improvement Improvement / enhancement to an existing function labels Mar 6, 2026
@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot bot commented Mar 6, 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.

@bdice
Copy link
Copy Markdown
Collaborator Author

bdice commented Mar 6, 2026

/ok to test 007ace6

@bdice
Copy link
Copy Markdown
Collaborator Author

bdice commented Mar 6, 2026

/ok to test

@bdice
Copy link
Copy Markdown
Collaborator Author

bdice commented Mar 6, 2026

This looks good, it's mostly aligned with the other MR refactorings aside from cleanup tasks I've already marked down for later. I'll admin-merge this once CI passes.

@bdice bdice self-assigned this Mar 6, 2026
@bdice bdice moved this to In Progress in RMM Project Board Mar 6, 2026
@bdice
Copy link
Copy Markdown
Collaborator Author

bdice commented Mar 10, 2026

/ok to test

@bdice
Copy link
Copy Markdown
Collaborator Author

bdice commented Mar 10, 2026

/ok to test

@bdice bdice marked this pull request as ready for review March 10, 2026 22:22
@bdice bdice requested review from a team as code owners March 10, 2026 22:22
@bdice bdice requested review from PointKernel and miscco and removed request for a team March 10, 2026 22:22
@bdice bdice merged commit aa57a26 into rapidsai:staging Mar 10, 2026
7 of 9 checks passed
@github-project-automation github-project-automation bot moved this from In Progress to Done in RMM Project Board Mar 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking change improvement Improvement / enhancement to an existing function

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant