-
Notifications
You must be signed in to change notification settings - Fork 173
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
[EPIC] Roadmap for cuda/memory_resource #1502
Comments
@harrism You might be interested in this |
Is there a long-term plan to pull more of the concrete implementations from rmm into CCCL? That seems like the best way to broaden adoption and usage of these allocators and would satisfy some of the new features mentioned above IIRC. |
@vyasr yes I believe we want to pull some of the foundational features into cccl. Definitely not all but some |
Yes, that is what we mean by "Concrete types that satisfy the |
our RFE:
|
Can you elaborate on what you mean? |
Yes, but what is their purpose if the code uses an |
The thinking is that the |
ok, I didn't interpret |
cuda::mr
is intended to be the future of heterogenous memory allocation in CUDA C++. It is inspired heavily by lessons learned in RMM and our experience with thedevice_memory_resource*
and friends.cuda::mr
does not seek to replace RMM, but instead distill and standardize the best parts of RMM into a more central location. Furthermore, RMM is already in the process of rebasing on top of using thecuda::mr
interface.What we have today is the
cuda/memory_resource
header that provides[async_]resource
concepts[async_]resource_ref
polymorphic typeIn essence, this just provides the top-level interface for memory allocation and defining properties of the allocated memory.
Implementation plan
cuda::mr::async_resource
concepts #2130cuda::launch
#2143mdarray
#2474Misc
Concrete types that satisfy the C++ allocator requirements
cuda::mr::allocator<T, Properties...>
capable of preserving concrete type of the resource (no type-erasure)cuda::mr::polymorphic_allocator<T, Properties...>
constructible from aresource_ref<Properties...>
Questions we'll need to answer along the way:
The text was updated successfully, but these errors were encountered: