raft

GPU 加速的检索与机器学习算子库,开箱即用

RAFT 是 NVIDIA 开源的 CUDA 加速算法与基础原语库,面向机器学习和信息检索场景。它把常用但实现复杂的底层算子(如距离计算、聚类、线性代数、最近邻搜索)封装成高性能、可复用的构建块,让开发者无需从零编写 CUDA 内核,就能在 GPU 上搭建高吞吐应用。核心能力包括:GPU 加速的 KNN/ANN 搜索、矩阵运算、聚类与降维等,并提供 Python 接口与 C++ 头文件两种使用方式。项目还包含大量示例和基准测试,方便验证性能。对于做向量检索、推荐系统、大模型检索增强(RAG)或科学计算的团队,RAFT 能显著降低 GPU 编程门槛,把精力放在业务逻辑而非底层优化上。

开源 free 基础设施
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1042
维护状态 活跃
是否开源
定价模式 free

项目数据

分类基础设施
开发团队NVIDIA
所属国家
定价模式free
价格说明开源免费,Apache 2.0 许可证
访问状态
是否开源
开源协议Apache-2.0
主要语言Cuda
技术栈/模型anns,building-blocks,clustering,cuda,distance,gpu,information-retrieval,linear-algebra,llm,machine-learning,nearest-neighbors,neighborhood-methods,primitives,random-sampling,solvers,sparse,statistics,vector-search,vector-similarity,vector-store
GitHub 星标★ 1042
30天Star增速
HF 下载量
上线时间2019-06-13 00:00:00
最近更新2026-09-17 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-16
浏览次数0

使用教程

难度:进阶 约 20 分钟 部署方式:库/依赖 6 步

环境要求

  • NVIDIA GPU 及与安装命令匹配的 CUDA 环境(README 要求按 CUDA 版本选择安装方式)
  • Conda 包管理器,README 明确推荐优先使用 mamba 代替 conda
  • Python 环境(仅在使用 pylibraft / raft-dask 时需要)
  • Git(需要下载源码、使用 C++ 头文件或示例时)

安装与启动步骤

  1. 1确认 GPU 与 CUDA

    安装前先确认机器有 NVIDIA GPU 并明确 CUDA 版本,因为 README 要求按 CUDA 版本选择对应的安装命令。

    nvidia-smi
  2. 2准备 conda/mamba

    RAFT 的 C++ 头文件和 Python 库均可通过 conda 安装,README 建议优先用 mamba 执行安装命令。

  3. 3conda 安装 RAFT 包

    按 CUDA 版本对应的命令安装。libraft-headers 为 C++ 头文件,pylibraft 为 Python 库,raft-dask 用于多节点多 GPU 的 Dask 部署,均可选装。

  4. 4可选:pip 安装 Python 包

    pylibraft 和 raft-dask 提供实验性 pip 包,可按官方 pip 安装页说明安装,稳定性低于 conda 包。

  5. 5获取源码

    需要 C++ 头文件、示例或基准测试时,从 GitHub 克隆仓库源码,示例可用于验证性能。

    git clone https://github.com/rapidsai/raft.git
  6. 6源码构建参考

    若需从源码构建,按官方《Build and Install RAFT》文档执行,README 未在本节给出具体构建命令。

关键配置

配置项必填说明示例
CUDA 版本决定使用哪一条 conda 安装命令,需与本机驱动匹配12.x
安装源(rapidsai / rapidsai-nightly)换成 rapidsai-nightly 可获取更新但稳定性更低的每日构建包rapidsai-nightly

如何确认成功

在 Python 环境执行 import pylibraft 无报错即安装成功;更多验证方式参见 README 链接的快速上手文档 docs/source/quick_start.md。

常见问题

Q:conda 里几个包该怎么选?

A:libraft-headers 提供 C++ 头文件;pylibraft 是 Python 库;raft-dask 用于基于 raft::comms 抽象层在 Dask 集群上跑多节点多 GPU 算法。按需求选装。

Q:想装最新版本怎么办?

A:把安装源中的 rapidsai 替换成 rapidsai-nightly,即可安装更新更频繁但稳定性较低的每日构建包。

Q:只想要 Python 接口可以吗?

A:可以。pylibraft 与 raft-dask 都有实验性 pip 包,安装方式见 https://rapids.ai/pip.html#install 。

Q:怎么从源码编译安装?

A:参照 README 给出的《Build and Install RAFT》文档 docs/source/build.md 中的说明进行构建与安装。

Q:用 conda 还是 mamba?

A:README 明确说明更推荐使用 mamba 命令执行 conda 安装,二者安装的包内容一致。

注意事项

  • RAFT 是 CUDA 加速的基础算法库,必须运行在 NVIDIA GPU 环境中。
  • README 节选中 conda 与 pip 的命令代码块未包含完整命令内容,请以官网在线文档为准,不要照搬臆测的参数。
  • pylibraft 与 raft-dask 的 pip 包为实验性,生产环境建议优先使用 conda 安装。
  • 本教程仅依据所给 README 节选整理,未出现过的包名、端口、路径均未补充。

核心亮点

  • 由 NVIDIA 官方维护,CUDA 优化质量高,性能接近手写内核
  • 提供 Python 与 C++ 双接口,可灵活嵌入现有 GPU 流水线
  • 覆盖距离计算、KNN、聚类、线性代数等常用原语,减少重复造轮子

不足之处

  • 强依赖 NVIDIA GPU 与 CUDA 生态,无法在 AMD/Intel 或纯 CPU 环境使用
  • API 迭代较快,版本升级可能带来兼容性调整成本

适用场景

  • 构建大规模向量检索或推荐系统的 GPU 召回层
  • 为大模型 RAG 流程加速最近邻搜索与相似度计算
  • 在科学计算或数据分析中替换低效的 CPU 算子

替代项目

Faiss、cuML、Milvus

项目介绍

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.。项目使用 Cuda 开发,在 GitHub 上获得 1042 星标。

上一篇:csghub-server

下一篇:tpu-mlir

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

OpenAI-compatible gateway for FreeBuff coding models. Token pool, session lifecycle,···

★ 202 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8433 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 435 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181124 2026-08-09