NVIDIA/cuml

NVIDIA cuML: GPU-Accelerated Machine Learning

What it solves

cuML is designed to overcome the performance bottlenecks of CPU-based machine learning. It allows users to run machine learning workloads on NVIDIA GPUs to achieve significant speedups—up to 50x faster than scikit-learn in some benchmarks.

How it works

The library provides two primary methods for GPU acceleration:

  1. GPU-native API: A cuml Python API that uses scikit-learn-style fit-predict-transform patterns, keeping data and computation entirely on the GPU.
  2. Transparent Acceleration: The cuml.accel module allows users to accelerate existing scikit-learn, UMAP, and HDBSCAN code without changing their Python code, falling back to the CPU when an operation cannot be accelerated.

For larger datasets, the cuml.dask API enables distributed execution across multiple GPUs and multi-node clusters using Dask.

Who it’s for

Data scientists and machine learning engineers who use scikit-learn and need to scale their ML workflows to larger datasets or reduce training and inference time using NVIDIA GPUs.

Highlights

  • Scikit-learn Compatibility: Uses familiar APIs and is compatible with scikit-learn version 1.6+.
  • High Performance: Accelerates workflows by up to 50x on representative benchmarks.
  • Zero-Code Change Acceleration: cuml.accel enables GPU acceleration for existing scripts without modifying the source code.
  • Multi-GPU Scaling: Support for distributed machine learning via cuml.dask.
  • Broad Algorithm Support: Includes clustering, dimensionality reduction, regression, classification, preprocessing, and time series analysis.

Related

  • Project
  • Project
  • Project
  • Project
  • Project