{"library":"rmm-cu12","title":"RMM - RAPIDS Memory Manager for CUDA 12","description":"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.","language":"python","status":"active","last_verified":"Mon May 18","install":{"commands":["pip install rmm-cu12"],"cli":null},"imports":["import rmm","from rmm.mr import PoolMemoryResource","from rmm.mr import CudaMemoryResource","No direct import; use public rmm or rmm.mr APIs."],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"import rmm\nfrom rmm.mr import PoolMemoryResource, CudaMemoryResource, set_current_device_resource\n\n# Create an upstream resource (e.g., CudaMemoryResource) for the pool\nupstream = CudaMemoryResource()\n\n# Create a PoolMemoryResource with an initial size and an optional maximum size\ninitial_pool_size = 128 * 1024 * 1024  # 128 MiB\nmaximum_pool_size = 1024 * 1024 * 1024  # 1 GiB\n\npool_mr = PoolMemoryResource(\n    upstream=upstream,\n    initial_pool_size=initial_pool_size,\n    maximum_pool_size=maximum_pool_size\n)\n\n# Set the default RMM memory resource for the current device\nset_current_device_resource(pool_mr)\n\nprint(f\"RMM current device resource: {rmm.mr.get_current_device_resource()}\")\n\n# Allocate a DeviceBuffer using the default RMM memory resource\n# This buffer resides on the GPU\nbuffer_size = 64 * 1024 * 1024 # 64 MiB\ndevice_buffer = rmm.DeviceBuffer(size=buffer_size)\n\nprint(f\"Successfully allocated rmm.DeviceBuffer of {device_buffer.size / (1024*1024):.2f} MB on GPU.\")\n\n# Memory is automatically freed when device_buffer goes out of scope or program exits.\n","lang":"python","description":"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.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-18","installed_version":"24.8.2","pypi_latest":"26.4.0","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":50,"avg_install_s":5.6,"avg_import_s":0.5,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"rmm-cu12","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"rmm-cu12","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.7,"import_time_s":0.43,"mem_mb":13.4,"disk_size":"147M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"rmm-cu12","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"rmm-cu12","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.5,"import_time_s":0.59,"mem_mb":14.6,"disk_size":"155M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"rmm-cu12","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"rmm-cu12","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.2,"import_time_s":0.51,"mem_mb":14.8,"disk_size":"143M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"rmm-cu12","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"rmm-cu12","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"clean","install_time_s":4.5,"import_time_s":0.51,"mem_mb":15.4,"disk_size":"142M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"rmm-cu12","exit_code":1,"wheel_type":null,"failure_reason":"build_error","import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"rmm-cu12","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":10.1,"import_time_s":0.45,"mem_mb":14.2,"disk_size":"358M"}]}}