-
Notifications
You must be signed in to change notification settings - Fork 208
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
[QST] Move cudf.Buffer
to rmm
#227
Comments
Current cuDF implementation is here for context. |
Granted it's on the Python level where I'm not too concerned, but this kinda sounds like scope creep to me. My hope would be to keep RMM as narrowly focused as we can. |
Maybe a little. Though am less worried about that personally. Where else would you imagine it living (if not RMM)? |
I'm a big fan of "Do One Thing". Scope creep is how libraries become complicated behemoths that are difficult to maintain and change. This issue is similar to why I pushed back on #220. RMM shouldn't be concerned about device memory allocated by anything other than RMM. Anything beyond that is the concern of another layer or library. I don't have sufficient Python expertise to know where |
From my view I'm not viewing this as tacking this onto rmm because it's convenient, in fact it's a little bit inconvenient if anything. I view this as managing memory that rapids libraries could potentially use, it just so happens that the memory wasn't allocated by the RMM allocator. |
This issue has been marked rotten due to no recent activity in the past 90d. Please close this issue if no further response or action is needed. Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed. |
This issue has been marked stale due to no recent activity in the past 30d. Please close this issue if no further response or action is needed. Otherwise, please respond with a comment indicating any updates or changes to the original issue and/or confirm this issue still needs to be addressed. This issue will be marked rotten if there is no activity in the next 60d. |
Can you just replace |
Unfortunately no, because a |
This issue has been labeled |
This issue has been labeled |
This sounds like what in C++ we call |
Yeah that seems similar. Basically |
I hadn't seen this issue before, but I recently started thinking about this after a conversation with @shwina and @jrhemstad about GPU memory management in Python. It seems like what we're looking for is a generic If we went this route there would be a number of open questions to address here. Such an object could work directly with |
Yeah we already did this in ucx-py with |
I have been devising an interface for C/C++ libraries to share a memory pool, and I would need a way to expose this interface all the way to Python so that users can set it from Python. This sounds like a good idea worth exploring. |
I thought that was the purpose of CAI? What's the difference between |
It can help to have something in Cython as it can expose Python & C APIs |
That's true, but in my view the distinction is a little more fundamental. CAI is purely descriptive, so objects implementing the CAI must always be converted into some internal representation like |
Yep I understand. The |
@jakirkham Sorry, didn't mean that as a correction, more as an extended explanation to answer @jrhemstad's question. |
I am very much in favor of a stand alone library implementing something like |
Happy my comment helped kickstart this discussion again! Sounds like there is agreement on a direction forward. |
This issue has been labeled |
I'm going to work on documenting next steps for this sometime soon. |
This issue has been labeled |
This issue has been labeled |
There is some recent work in NVIDIA/cuda-python#87 |
Question regarding moving
cudf.Buffer
tormm
:rmm.DeviceBuffer
is a Cython wrapper around the C++ classrmm::device_buffer
.cudf.Buffer
more generally represents an untyped device memory allocation:A
Buffer
can be constructed from any object exposing__array_interface__
or__cuda_array_interface__
, e.g., CuPy arrays, numpy arrays, etc.,Does it make sense for
Buffer
to be moved to RMM?The text was updated successfully, but these errors were encountered: