-
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
[REVIEW] Add CUDA Managed Memory (Unified Memory) Allocation Mode #2
Conversation
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.
Only major change is that rmm::alloc
needs to be updated to use cudaMallocManaged
if CudaManagedMemory
is enabled, but PoolAllocation
is not.
Co-Authored-By: harrism <mharris@nvidia.com>
…ry even if not using pool allocator
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.
Good to go after these changes.
Co-Authored-By: harrism <mharris@nvidia.com>
add wsl2 nightly stage
This PR adds an option to rmmInitialize to use
cudaMallocManaged
(+cudaMemPrefetchAsync
) as the base allocator for RMM rather thancudaMalloc
.The code above will initialize RMM with a managed memory pool. Removing
PoolAllocation
will cause it to allocate without a pool by calling directly tocudaMallocManaged()
.Tests are also expanded to run all tests with all allocation modes (gtests and pytests).
Note this depends on new functionality I added to cnmem with this PR (already merged): NVIDIA/cnmem#7
This PR is an improved version of a (never merged) cuDF PR rapidsai/cudf#422.
Support for multiple simultaneous pools with different modes is future work.