RMM (RAPIDS Memory Manager) is a C++ and Python library for efficient GPU memory management. It provides a highly optimized allocation and deallocation framework tailored for NVIDIA GPUs, often used within the RAPIDS ecosystem to improve performance of data science workloads. The current version is 26.4.0, and it generally follows a monthly release cadence.
pip install rmm-cu12Verified import paths — ran on the pinned version, not inferred.
This quickstart demonstrates how to initialize a `PoolMemoryResource` and set it as the current RMM device memory resource. It then allocates a `DeviceBuffer` using this configured resource.
Ensure your system has CUDA Toolkit version 12.0 or higher installed and that you've installed the appropriate `rmm-cu12` (or `rmm-cuXX`) package matching your CUDA environment.
Migrate to using public APIs from the `rmm` or `rmm.mr` modules. For example, use `rmm.DeviceBuffer` for GPU memory allocation.
Review the `rmm.mr` module documentation for updated API usage, especially if you implement or interact with custom memory resources. This includes changes to how some memory resource factory functions are deprecated or removed.
If you were using `HostMemoryResource`, migrate to using `cuda_async_memory_resource` or other device memory resources for managing GPU-managed memory. Update to use the modern `rmm.mr` interface and CCCL compatible constructs.
If your application relies on specific floating-point behavior for -0.0 with `set_element_async`, be aware of this change and adjust accordingly.
Update your code to use the public APIs directly from `rmm` or `rmm.mr`. For example, `rmm.DeviceBuffer` for GPU memory allocation.
Verify your CUDA Toolkit version is 12.0 or higher. Ensure you've installed the `rmm-cu12` (or correct `rmm-cuXX` variant) matching your CUDA installation. Check your `LD_LIBRARY_PATH` and `PATH` environment variables.
Migrate your code to use `cuda_async_memory_resource` or other device memory resources for managing GPU-accessible memory, as host memory resources are no longer part of RMM.