Attention

The vector search and clustering algorithms in RAFT are being migrated to a new library dedicated to vector search called cuVS. We will continue to support the vector search algorithms in RAFT during this move, but will no longer update them after the RAPIDS 24.06 (June) release. We plan to complete the migration by RAPIDS 24.08 (August) release.

RAPIDS RAFT: Reusable Accelerated Functions and Tools for Vector Search and More#

RAFT Tech Stack

Useful Resources#

What is RAFT?#

RAFT contains fundamental widely-used algorithms and primitives for machine learning and information retrieval. The algorithms are CUDA-accelerated and form building blocks for more easily writing high performance applications.

By taking a primitives-based approach to algorithm development, RAFT

  • accelerates algorithm construction time

  • reduces the maintenance burden by maximizing reuse across projects, and

  • centralizes core reusable computations, allowing future optimizations to benefit all algorithms that use them.

While not exhaustive, the following general categories help summarize the accelerated building blocks that RAFT contains:

Category

Examples

Nearest Neighbors

pairwise distances, vector search, epsilon neighborhoods, neighborhood graph construction

Data Formats

sparse & dense, conversions, data generation

Dense Operations

linear algebra, matrix and vector operations, slicing, norms, factorization, least squares, svd & eigenvalue problems

Sparse Operations

linear algebra, eigenvalue problems, slicing, norms, reductions, factorization, symmetrization, components & labeling

Basic Clustering

spectral clustering, hierarchical clustering, k-means

Solvers

combinatorial optimization, iterative solvers

Statistics

sampling, moments and summary statistics, metrics

Tools & Utilities

common utilities for developing CUDA applications, multi-node multi-gpu infrastructure

Indices and tables#