NVIDIA cuML is a GPU-accelerated machine learning library that provides CUDA-based implementations of standard machine learning algorithms with scikit-learn-compatible APIs.
The library addresses the performance bottleneck of CPU-bound machine learning by moving computation to NVIDIA GPUs. It offers two complementary approaches: the native `cuml` API provides GPU-resident estimators following scikit-learn's fit-predict-transform pattern, keeping both data and computation on the GPU throughout the workflow. Alternatively, `cuml.accel` acts as a drop-in accelerator that intercepts calls to scikit-learn, UMAP, and HDBSCAN, running supported operations on the GPU while falling back to CPU implementations for unsupported configurations, allowing existing code to benefit from GPU acceleration without modification.
Developers should adopt cuML when working with large datasets on systems with NVIDIA GPUs and seeking to accelerate machine learning pipelines. The native API suits new projects where you can design workflows around GPU-resident data, while `cuml.accel` fits existing scikit-learn codebases where minimal changes are preferred. The library supports clustering, dimensionality reduction, regression, classification, preprocessing, model selection, time series analysis, model explanation, and nearest-neighbor operations. For distributed workloads, `cuml.dask` enables multi-GPU and multi-node execution of selected algorithms. Models trained with cuML can be serialized using pickle or joblib for later inference, with cloudpickle support enabling models trained through `cuml.accel` to be loaded by scikit-learn.
The project maintains active development with regular updates to algorithm coverage and performance optimizations. The codebase includes comprehensive documentation with API references, compatibility matrices, and logging tools to verify GPU execution. Walkthrough notebooks demonstrate practical usage patterns across different workflows. The library requires scikit-learn version 1.6 or higher for compatibility.