flashinfer
FlashInfer 是一个专注于大语言模型(LLM)推理的高性能GPU内核库,提供统一的API接口支持注意力、矩阵乘法(GEMM)和混合专家(MoE)等关键操作。它通过优化内核设计和多后端适配(如FlashAttention-2/3、cuDNN、CUTLASS等),显著提升不同GPU架构下的推理效率。针对动态批处理、低精度计算(FP8/FP4)和内存管理等场景,FlashInfer 提供了高效解决方案,帮助用户在保持模型精度的同时降低资源消耗。
该工具解决了传统LLM服务中常见的性能瓶颈问题,例如在大规模推理任务中因内存不足导致的延迟、多硬件平台兼容性差以及高精度计算带来的算力浪费。其支持的SM75及以上架构覆盖主流GPU,结合CUDAGraph和torch.compile技术,可满足生产环境中对低延迟和高吞吐的需求。
适合需要优化大模型推理性能的开发者、研究人员及企业用户。对于开发者而言,FlashInfer 提供了灵活的后端选择和高效的内核调优能力;研究人员可借此探索不同算法在硬件上的表现;而企业用户则能通过其低资源消耗特性实现更经济的模型部署。其独特的技术亮点包括:支持多种注意力机制的高效实现、针对MoE的量化优化、以及跨节点的分布式通信能力,为大模型服务提供了全面的技术支撑。
使用场景
某AI客服团队正在部署基于LLaMA-3-8B模型的实时问答系统,需在Triton推理服务中处理动态用户请求流。系统需同时支持长上下文对话和突发流量,对延迟与吞吐量有严格要求。
没有 flashinfer 时
- 使用HuggingFace Transformers的默认解码器导致平均延迟达230ms/请求,长文本生成时GPU显存占用高达18GB
- 手动管理KV缓存导致内存碎片化,批量处理时经常触发OOM错误
- 无法有效利用A100的FP8计算能力,模型精度损失与性能提升难以平衡
- 多专家路由逻辑需自定义实现,导致专家切换开销占总计算时间的15%
使用 flashinfer 后
- 通过内置的POD-Attention内核实现prefill+decode融合计算,端到端延迟降至95ms,显存占用降低至9.2GB
- 采用Paged KV-Cache机制后内存利用率提升40%,动态批次大小可扩展至256而不触发OOM
- 启用FP8量化后矩阵乘法吞吐量提升2.3倍,配合block-wise缩放策略保持模型精度无明显损失
- 集成DeepSeek-V3路由算法后专家切换开销降至3%,结合Grouped GEMM优化实现LoRA适配器的零拷贝加载
FlashInfer通过细粒度内存优化和混合精度计算,使LLM服务吞吐量提升2.8倍,同时将单卡部署成本降低至原有方案的58%。
运行环境要求
- Linux
- macOS
需要 NVIDIA GPU,显存 8GB+,CUDA 12.6+
未说明

快速开始
推理高性能GPU内核
| 文档 | 最新版本 | 博客 | Slack | 讨论论坛 |
FlashInfer 是一个推理库和内核生成器,在多种GPU架构上提供最先进的性能。它为注意力机制、GEMM和MoE操作提供统一的API,支持包括FlashAttention-2/3、cuDNN、CUTLASS和TensorRT-LLM在内的多种后端实现。
为什么选择FlashInfer?
- 先进性能:针对预填充、解码和混合批处理场景优化的内核
- 多后端支持:自动选择最适合您硬件和工作负载的后端
- 现代架构支持:支持SM75(Turing)及更新架构(包括Blackwell)
- 低精度计算:支持注意力机制、GEMM和MoE操作的FP8和FP4量化
- 生产就绪:兼容CUDAGraph和torch.compile的低延迟服务
核心功能
注意力机制内核
- 分页与不规则KV缓存:动态批处理服务的高效内存管理
- 解码、预填充与追加:所有注意力阶段的优化内核
- MLA注意力机制:深度求索(DeepSeek)多隐层注意力机制原生支持
- 级联注意力机制:共享前缀的内存高效分层KV缓存
- 稀疏注意力机制:块稀疏和可变块稀疏模式
- POD注意力机制:混合批处理的融合预填充+解码
GEMM与线性操作
- BF16 GEMM:面向SM10.0+ GPU的BF16矩阵乘法
- FP8 GEMM:张量级和分组缩放
- FP4 GEMM:面向Blackwell GPU的NVFP4和MXFP4矩阵乘法
- 分组GEMM:面向LoRA和多专家路由的高效批量矩阵操作
混合专家(MoE)
- 融合MoE内核
- 多种路由方法:支持DeepSeek-V3、Llama-4和标准top-k路由
- 量化MoE:使用分块缩放的FP8和FP4专家权重
采样与解码
- 无排序采样:无需排序的高效Top-K、Top-P和Min-P
- 推测式解码:支持链式推测采样
通信
- AllReduce:自定义实现
- 多节点NVLink:支持多节点推理的MNNVL
- NVSHMEM集成:面向分布式内存操作
其他算子
- RoPE:LLaMA风格的旋转位置嵌入(包含LLaMA 3.1)
- 归一化:RMSNorm、LayerNorm、Gemma风格的融合操作
- 激活函数:支持融合门控的SiLU、GELU
GPU支持
| 架构 | 计算能力 | 示例GPU |
|---|---|---|
| Turing (图灵) | SM 7.5 | T4, RTX 20系列 |
| Ampere (安培) | SM 8.0, 8.6 | A100, A10, RTX 30系列 |
| Ada Lovelace (洛夫莱斯) | SM 8.9 | L4, L40, RTX 40系列 |
| Hopper (霍普) | SM 9.0 | H100, H200 |
| Blackwell (布莱克威尔) | SM 10.0, 10.3 | B200, B300 |
| Blackwell (布莱克威尔) | SM 12.0, 12.1 | RTX 50系列, DGX Spark, Jetson Thor |
注意:并非所有功能都支持全部计算能力。
最新动态
重要更新:
快速开始
安装
快速开始:
pip install flashinfer-python
包选项:
- flashinfer-python:核心包,首次使用时编译/下载内核
- flashinfer-cubin:为所有支持的GPU架构预编译的内核二进制文件
- flashinfer-jit-cache:特定CUDA版本的预构建内核缓存
为加快初始化和离线使用,安装可选包可预编译大部分内核:
pip install flashinfer-python flashinfer-cubin
# JIT缓存(将cu129替换为您的CUDA版本)
pip install flashinfer-jit-cache --index-url https://flashinfer.ai/whl/cu129
验证安装
flashinfer show-config
基本用法
import torch
import flashinfer
# 单次解码注意力机制
q = torch.randn(32, 128, device="cuda", dtype=torch.float16) # [num_qo_heads, head_dim]
k = torch.randn(2048, 32, 128, device="cuda", dtype=torch.float16) # [kv_len, num_kv_heads, head_dim]
v = torch.randn(2048, 32, 128, device="cuda", dtype=torch.float16)
output = flashinfer.single_decode_with_kv_cache(q, k, v)
完整API参考和教程请参见文档。
源码安装
git clone https://github.com/flashinfer-ai/flashinfer.git --recursive
cd flashinfer
python -m pip install -v .
开发模式安装:
python -m pip install --no-build-isolation -e . -v
注意:使用
--no-build-isolation时,pip不会自动安装构建依赖。FlashInfer需要setuptools>=77。如果遇到类似AttributeError: module 'setuptools.build_meta' has no attribute 'prepare_metadata_for_build_editable'的错误,请先升级pip和setuptools:python -m pip install --upgrade pip setuptools
构建可选包:
# flashinfer-cubin
cd flashinfer-cubin
python -m build --no-isolation --wheel
python -m pip install dist/*.whl
# flashinfer-jit-cache(根据目标GPU定制)
export FLASHINFER_CUDA_ARCH_LIST="7.5 8.0 8.9 9.0a 10.0a 10.3a 11.0a 12.0f"
cd flashinfer-jit-cache
python -m build --no-isolation --wheel
python -m pip install dist/*.whl
更多细节请参见源码安装文档。
开发版安装
pip install -U --pre flashinfer-python --index-url https://flashinfer.ai/whl/nightly/ --no-deps
pip install flashinfer-python # 从PyPI安装依赖
pip install -U --pre flashinfer-cubin --index-url https://flashinfer.ai/whl/nightly/
# JIT缓存(将cu129替换为您的CUDA版本)
pip install -U --pre flashinfer-jit-cache --index-url https://flashinfer.ai/whl/nightly/cu129
命令行工具
FlashInfer提供多个CLI命令用于配置管理、模块管理和开发:
# 验证安装并查看配置
flashinfer show-config
# 列出并检查模块
flashinfer list-modules
flashinfer module-status
# 管理二进制文件和缓存
flashinfer download-cubin
flashinfer clear-cache
# 开发者工具:生成IDE集成所需的compile_commands.json
flashinfer export-compile-commands [output_path]
完整文档请参考CLI参考手册。
API日志记录
FlashInfer提供全面的API日志功能用于调试。通过环境变量启用:
# 启用日志(级别:0=关闭(默认),1=基础,3=详细,5=统计信息)
export FLASHINFER_LOGLEVEL=3
# 设置日志目标(stdout(默认),stderr,或文件路径)
export FLASHINFER_LOGDEST=stdout
关于日志级别、配置和高级功能的详细信息,请参考文档中的日志记录章节。
自定义注意力机制变体
用户可通过添加参数自定义注意力机制变体。具体实现请参考我们的JIT示例。
CUDA支持
支持的CUDA版本: 12.6、12.8、13.0、13.1
注意: FlashInfer遵循PyTorch支持的CUDA版本,并包含最新CUDA发行版。
应用案例
FlashInfer为以下项目提供推理支持:
致谢
FlashInfer受以下项目启发:FlashAttention、vLLM、stream-K、CUTLASS和AITemplate。
引用
若您在项目或研究中使用FlashInfer,请引用我们的论文:
@article{ye2025flashinfer,
title = {FlashInfer: Efficient and Customizable Attention Engine for LLM Inference Serving},
author = {
Ye, Zihao and
Chen, Lequn and
Lai, Ruihang and
Lin, Wuwei and
Zhang, Yineng and
Wang, Stephanie and
Chen, Tianqi and
Kasikci, Baris and
Grover, Vinod and
Krishnamurthy, Arvind and
Ceze, Luis
},
journal = {arXiv preprint arXiv:2501.01005},
year = {2025},
url = {https://arxiv.org/abs/2501.01005}
}
版本历史
nightly-v0.6.7-202604052026/04/05nightly-v0.6.7-202604042026/04/04v0.6.7.post22026/04/04v0.6.7.post12026/04/03nightly-v0.6.7-202604022026/04/02nightly-v0.6.7-202604012026/04/01nightly-v0.6.7-202603312026/03/31nightly-v0.6.7-202603282026/03/28nightly-v0.6.7-202603262026/03/26v0.6.72026/03/25nightly-v0.6.7-202603242026/03/24nightly-v0.6.6-202603232026/03/23nightly-v0.6.6-202603222026/03/22nightly-v0.6.6-202603212026/03/21nightly-v0.6.6-202603202026/03/20nightly-v0.6.6-202603192026/03/19nightly-v0.6.6-202603182026/03/18nightly-v0.6.6-202603172026/03/17nightly-v0.6.6-202603162026/03/16nightly-v0.6.6-202603152026/03/15常见问题
相似工具推荐
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
