-
Notifications
You must be signed in to change notification settings - Fork 921
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
Java pinned memory pool allocator #2872
Conversation
@harrism should we add a pinned memory resource to RMM? |
@jrhemstad yes I think that makes sense. In RMM I like the ID of having a non-pool MR for every memory type, and then we can use any of those MRs as a heap resource for a pool MR, making it flexible. All your memory are belong to RMM. :) |
Codecov Report
@@ Coverage Diff @@
## branch-0.10 #2872 +/- ##
============================================
Coverage 86.53% 86.53%
============================================
Files 48 48
Lines 9000 9000
============================================
Hits 7788 7788
Misses 1212 1212 Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Talked to @jlowe about the best fit approach instead of getting the largest chunk which can be visited when/if need arises
Adds a pinned memory pool on the Java side along with a runtime Java config option, ai.rapids.cudf.prefer-pinned, that specifies whether host buffers should use pinned memory if possible. Even if pinned memory buffers are preferred, the pinned memory pool must be initialized first or host buffers will fallback to paged memory.
Host buffers that need paged memory can use the new
allocate
overload with a boolean parameter to request the pinned memory allocator not be used.