NVIDIA/cuvs

cuVS - a library for vector search and clustering on the GPU

What it solves

cuVS simplifies the use of GPUs to perform high-performance vector similarity search and clustering. It addresses the need for fast index building and low-latency, high-throughput search over large sets of multimedia embeddings (dense vectors) created from unstructured data, which is essential for semantic search and data mining.

How it works

Built on top of the RAPIDS RAFT library, cuVS provides state-of-the-art GPU-accelerated implementations of algorithms for approximate nearest neighbors (ANN) and clustering. It allows users to build indices (such as using the CAGRA algorithm) and perform searches across multiple languages including Python, C++, C, and Rust.

Who it’s for

This library is designed for developers and data scientists working on generative AI, retrieval-augmented generation (RAG), recommender systems, computer vision, and data mining tasks like k-NN graph construction and visualization (e.g., UMAP, t-SNE).

Highlights

  • Fast index construction and high-throughput search performance.
  • Multi-language support for Python, C++, C, and Rust.
  • Interoperability allowing indices to be built on GPU and deployed on CPU.
  • Integrated support for various clustering and visualization algorithms like K-means and HDBSCAN.