Favicon of NVIDIA cuML

NVIDIA cuML

An open-source machine learning library that runs on NVIDIA GPUs under Linux or WSL 2 and accelerates existing scikit-learn, UMAP and HDBSCAN code.

Screenshot of NVIDIA cuML website

NVIDIA cuML is a Python machine learning library for data scientists whose scikit-learn, UMAP or HDBSCAN workloads take too long on a CPU. It runs on NVIDIA GPUs in Linux or WSL 2, on a workstation or across a cluster. The project is open source under Apache 2.0.

Its main appeal is compatibility with familiar Python workflows. The native cuML API uses scikit-learn-style estimators while keeping data and computation on the GPU. For existing projects, cuml.accel can accelerate supported operations without changes to the Python code that uses those libraries. Unsupported estimators or configurations fall back to the original CPU implementation, so a workflow can continue even when GPU coverage is incomplete.

cuML covers clustering, regression and classification, alongside dimensionality reduction and nearest-neighbor searches. It also includes preprocessing, model selection and model explanation. Inputs can come from NumPy, cuDF, CuPy or PyTorch tensors, and the library integrates with cuDF for data manipulation and cuGraph for graph analytics.

Speed gains depend on the algorithm, dataset and hardware. Dask support distributes selected algorithms across multiple GPUs and machines. Models can be saved with pickle or joblib for later inference, and models trained through cuml.accel can be loaded and used with scikit-learn.

Similar to NVIDIA cuML