
raft
GPU 加速的检索与机器学习算子库,开箱即用
RAFT 是 NVIDIA 开源的 CUDA 加速算法与基础原语库,面向机器学习和信息检索场景。它把常用但实现复杂的底层算子(如距离计算、聚类、线性代数、最近邻搜索)封装成高性能、可复用的构建块,让开发者无需从零编写 CUDA 内核,就能在 GPU 上搭建高吞吐应用。核心能力包括:GPU 加速的 KNN/ANN 搜索、矩阵运算、聚类与降维等,并提供 Python 接口与 C++ 头文件两种使用方式。项目还包含大量示例和基准测试,方便验证性能。对于做向量检索、推荐系统、大模型检索增强(RAG)或科学计算的团队,RAFT 能显著降低 GPU 编程门槛,把精力放在业务逻辑而非底层优化上。
项目数据
使用教程
环境要求
- NVIDIA GPU 及与安装命令匹配的 CUDA 环境(README 要求按 CUDA 版本选择安装方式)
- Conda 包管理器,README 明确推荐优先使用 mamba 代替 conda
- Python 环境(仅在使用 pylibraft / raft-dask 时需要)
- Git(需要下载源码、使用 C++ 头文件或示例时)
安装与启动步骤
-
1确认 GPU 与 CUDA
安装前先确认机器有 NVIDIA GPU 并明确 CUDA 版本,因为 README 要求按 CUDA 版本选择对应的安装命令。
nvidia-smi -
2准备 conda/mamba
RAFT 的 C++ 头文件和 Python 库均可通过 conda 安装,README 建议优先用 mamba 执行安装命令。
-
3conda 安装 RAFT 包
按 CUDA 版本对应的命令安装。libraft-headers 为 C++ 头文件,pylibraft 为 Python 库,raft-dask 用于多节点多 GPU 的 Dask 部署,均可选装。
-
4可选:pip 安装 Python 包
pylibraft 和 raft-dask 提供实验性 pip 包,可按官方 pip 安装页说明安装,稳定性低于 conda 包。
-
5获取源码
需要 C++ 头文件、示例或基准测试时,从 GitHub 克隆仓库源码,示例可用于验证性能。
git clone https://github.com/rapidsai/raft.git -
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
项目介绍
上一篇:csghub-server
下一篇:tpu-mlir
同类项目推荐
freebuff-proxy
开源
聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。
OpenAI-compatible gateway for FreeBuff coding models. Token pool, session lifecycle,···
microduck
开源
用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。
A Tiny biped duck robot
soperator
开源
用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。
Run Slurm in Kubernetes
ollama
开源
一条命令本地跑起大模型,免费、私密、不卡顿
Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···