
flashinfer
免写 CUDA,给 LLM 推理服务直接加速的算子库
FlashInfer 是一个面向大语言模型推理服务的高性能 GPU 内核库,用 CUDA 和 PyTorch 实现,专注解决 LLM 部署中注意力计算、MoE 路由、分布式推理等环节的算子效率问题。它把预填充、解码、分页 KV 缓存、投机采样等常见推理模式封装成可 JIT 编译的内核,开发者无需手写 CUDA 即可在服务中调用。核心能力包括:针对不同 batch 和序列长度自动选择最优注意力内核、支持分页与连续批处理、覆盖 MoE 与多 GPU 通信场景,并能与 PyTorch 生态无缝衔接。相比通用算子库,它更贴近推理服务的真实负载,能显著降低延迟并提升吞吐,适合自建推理引擎或优化现有服务框架的团队使用。
项目数据
使用教程
环境要求
- Python 环境与 pip(可执行 python -m pip)
- NVIDIA GPU,架构 SM75(Turing)及以后(含 Blackwell)
- 已安装 PyTorch(README 示例中 import torch)
- 源码安装需 setuptools>=77
安装与启动步骤
-
1安装核心包
安装 flashinfer-python,首次使用时会在本地编译或下载所需内核。
pip install flashinfer-python -
2安装预编译内核
可选。安装 cubin 与 jit-cache wheel 以加快初始化并支持离线使用,需先装核心包。
pip install flashinfer-python flashinfer install-cubin-wheel flashinfer install-jit-cache-wheel -
3启用 Blackwell 内核
可选。在 Blackwell(SM100+)上使用 CuTe DSL 内核时,安装带 CUDA 13 extra 的包。
pip install flashinfer-python[cu13] -
4验证安装
运行命令行工具查看配置,确认包已正确安装并识别当前硬件配置。
flashinfer show-config -
5源码安装
从 GitHub 递归克隆仓库后在仓库根目录安装;--recursive 用于拉取子模块。
git clone https://github.com/flashinfer-ai/flashinfer.git --recursive cd flashinfer python -m pip install -v . -
6开发模式安装
开发场景使用可编辑安装;该方式不自动装构建依赖,需自行准备构建环境。
python -m pip install --no-build-isolation -e . -v -
7修复构建依赖
若报 setuptools.build_meta 缺少属性的错误,先升级 pip 与 setuptools 再重试安装。
python -m pip install --upgrade pip setuptools
如何确认成功
执行 flashinfer show-config 能正常输出当前配置信息,即表示安装成功。
常见问题
Q:首次使用很慢或想离线部署怎么办?
A:核心包 flashinfer-python 会在首次使用时编译或下载内核;可额外安装 flashinfer-cubin 与 flashinfer-jit-cache 相关 wheel 预编译大部分内核,加快初始化并支持离线使用。
Q:Blackwell(SM100+)如何获得优化内核?
A:使用 CUDA 13 extra 安装:pip install flashinfer-python[cu13],以启用 Blackwell 优化的 CuTe DSL 内核。
Q:开发模式安装报 setuptools.build_meta 缺少属性怎么办?
A:使用 --no-build-isolation 时 pip 不会自动装构建依赖,FlashInfer 需要 setuptools>=77;先执行 python -m pip install --upgrade pip setuptools 再重试。
Q:支持哪些 GPU 架构?
A:README 说明支持 SM75(Turing)及之后架构,直至 Blackwell。
注意事项
- pip install flashinfer-python 安装的是会在首次使用时编译/下载内核的核心包,不是全部预编译内核。
- 源码安装必须加 --recursive 以拉取子模块。
- --no-build-isolation 模式下需自行保证构建依赖(setuptools>=77)。
- 官方文档、发布页与 Slack/Discussion 渠道见 README 顶部链接。
核心亮点
- 覆盖预填充、解码、分页 KV 缓存、投机采样等真实推理模式,开箱即用
- JIT 编译按输入形状生成内核,避免手写 CUDA 并减少无效计算
- 与 PyTorch 集成,可嵌入现有推理框架,支持 MoE 和分布式场景
不足之处
- 强依赖 NVIDIA GPU 与较新 CUDA 环境,非 N 卡或旧驱动难以使用
- JIT 首次编译有开销,冷启动场景需要额外预热策略
适用场景
- 自建 LLM 推理引擎,替换低效注意力实现以降低延迟
- 优化已有服务框架的批处理与 KV 缓存管理,提升吞吐
- 在多 GPU 或 MoE 模型部署中加速通信与路由计算
替代项目
vLLM、TensorRT-LLM
项目介绍
上一篇:llm-d-router
下一篇:MinivLLM
同类项目推荐
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···