-
Notifications
You must be signed in to change notification settings - Fork 200
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[EXPERIMENT] Use resource_ref for get/set_per_device_resource #1634
base: branch-24.10
Are you sure you want to change the base?
[EXPERIMENT] Use resource_ref for get/set_per_device_resource #1634
Conversation
I think the cython problems are not possible to work around right now :(, see cython/cython#6317 |
I worked around them by using a |
I met with some folks from CCCL and cuda-python earlier this week to discuss memory resources. The new CCCL features in NVIDIA/cccl#2824 will change our strategy for owning memory resources. I will study this PR and will probably resurrect some parts of this in a new PR. |
Description
Components of this PR.
rmm::device_async_resource_ref
inget/set_per_device_resource()
. (per_device_resource.hpp)device_async_resource_ref
andcuda::stream_ref
. Since we can't stack allocatedevice_async_resource_ref
, add aget_ref()
method on all PythonDeviceMemoryResource
classes that returns ashared_ptr[device_async_resource_ref]
. This is dereferenced internally when passed to the bindings to the newcpp_set_per_device_resource
. Refactor Cython for external resource classes.This is currently an experiment.
Checklist