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#