Flash Attention 2.8.3 在 Windows + RTX 3090 上成功编译与运行复盘笔记(2026年1月版)

Flash Attention 2.8.3 在 Windows + RTX 3090 上成功编译与运行复盘笔记(2026年1月版)

作者:AITechLab

日期:2026年1月7日

环境:Windows 11 + RTX 3090 + PyTorch 2.9.1+cu130 + Python 3.10.18

Windows 系统中安装 flash_attn (flash-attn)
Flash Attention 在 Windows 上编译成功复盘笔记
Windows 下成功编译 Flash Attention 2.8.3 (flash-attn /flash_attn)个人复盘记录
Windows 11 下再次成功本地编译 Flash-Attention 2.8.3 并生成自定义 Wheel(RTX 3090 sm_86 专属版)
【笔记】Windows 下本地编译 Flash-Attention 2.8.3 后对 RTX 3090 (sm_86) Kernel 支持的完整验证

经过又双叒叕一次的反复的折腾,终于又在 Windows 11 + RTX 3090 + PyTorch 2.9.1+cu130 + Python 3.10 环境下,彻底解决了 Flash Attention 的所有编译和运行问题,包括 2026 年新驱动和新的仓库更新导致的经典错误:

CUDA error: the provided PTX was compiled with an unsupported toolchain.

下面给出当前唯一100%成功的编译流程(已亲测三次,全部成功,且生成图像零报错)。

最终成功环境

  • OS:Windows 11 专业工作站版
  • GPU:RTX 3090(sm_86)
  • CUDA Toolkit:13.1(完整安装)
  • Visual Studio 2022(带 C++ 桌面开发)
  • Python 3.10.18(Conda 虚拟环境)
  • PyTorch 2.9.1+cu130
  • ninja、build、wheel 已安装

经过多次尝试,终于找到了一套当前环境下近乎100%成功的编译与运行方案。

核心结论是:

不要拉取最新仓库代码! 仓库在2025年12月的更新(主要是AMD ROCm支持)导致Windows下新编译的wheel在运行时触发"the provided PTX was compiled with an unsupported toolchain"错误。 使用旧的稳定版本代码(v2.8.3 tag)或旧备份wheel才是最稳方案

成功的编译步骤(亲测三次全成功)

必须Developer Command Prompt for VS 2022(管理员身份) 中执行!

复制代码
# 1. 克隆源码(如果已有旧仓库,建议删除后重新clone)
git clone https://github.com/Dao-AILab/flash-attention.git
cd flash-attention
git pull
git submodule update --init --recursive

# 2. 关键!切换到稳定版本,不要用main最新代码
git checkout v2.8.3   # ← 这步最重要!避免2025年底的AMD更新坑

# 3. 清理旧缓存
rd /s /q build dist flash_attn.egg-info

# 4. 设置环境变量
set PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.1\bin;%PATH%
set FLASH_ATTENTION_FORCE_BUILD=TRUE      # 强制本地构建,跳过404下载
set FLASH_ATTN_CUDA_ARCHS=86              # RTX 3090专用
set MAX_JOBS=8                            # 根据RAM调整
set TORCH_CUDA_ARCH_LIST=8.6
set NVCC_THREADS=2
set DISTUTILS_USE_SDK=1
set CUDA_HOME=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.1

# 5. 编译生成wheel
python -m build --wheel --no-isolation

成功后会在 dist 目录生成: flash_attn-2.8.3-cp310-cp310-win_amd64.whl

安装与备份

复制代码
pip uninstall flash-attn -y
pip install dist\flash_attn-2.8.3-cp310-cp310-win_amd64.whl

# 立即备份!命名为黄金版本
copy dist\flash_attn-2.8.3-cp310-cp310-win_amd64.whl ^
     "E:\Downloads\Other\flash_attn-2.8.3-3090-golden-v2.8.3-tag.whl"

验证

运行项目(如Z-Image):

复制代码
python zimage_gui.py

正常输出:

复制代码
✅ 已成功启用本地 Flash Attention 2.8.3 加速!
100%|████████| 8/8 [00:08<00:00, 1.07s/it]

生成图像零报错,速度飞起!

复盘:为什么今天编译打包成功,安装后运行会失败?

CUDA error: the provided PTX was compiled with an unsupported toolchain.

  • 推测仓库更新是罪魁:2025年12月仓库加入AMD ROCm支持(composable_kernel子模块大更新),虽然不影响Windows逻辑,但间接改变了CUDA kernel编译参数或PTX元数据。
  • 新驱动更严格:即使驱动没手动升级,2026年初的系统环境对PTX检查更严,新代码生成的PTX被拒。
  • 旧备份救命:之前(2025年)用v2.8.3 tag编译的wheel,PTX正好在驱动兼容范围内。

终极建议

  1. 长期保留这个黄金wheel,相同的新环境直接安装它。
  2. 编译时必须checkout v2.8.3,不要用main最新代码。
  3. 关注官方新release,待确认AMD更新不影响Windows后再升级。

至此,Windows下Flash Attention的几乎所有坑已全部避开。 RTX 3090的朋友们,复制这套流程,适当根据自己的环境配置调整参数变量,安心加速吧!

相关推荐
一定要AK11 分钟前
Spring 入门核心笔记
java·笔记·spring
A__tao12 分钟前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
墨染天姬12 分钟前
【AI】端侧AIBOX可以部署哪些智能体
人工智能
研究点啥好呢16 分钟前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
AI成长日志16 分钟前
【Agentic RL】1.1 什么是Agentic RL:从传统RL到智能体学习
人工智能·学习·算法
航Hang*28 分钟前
Windows Server 配置与管理——第3章:文件系统管理
运维·服务器·windows·vmware
2501_9481142428 分钟前
2026年大模型API聚合平台技术评测:企业级接入层的治理演进与星链4SAPI架构观察
大数据·人工智能·gpt·架构·claude
小小工匠30 分钟前
LLM - awesome-design-md 从 DESIGN.md 到“可对话的设计系统”:用纯文本驱动 AI 生成一致 UI 的新范式
人工智能·ui
迷藏49432 分钟前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
黎阳之光1 小时前
黎阳之光:视频孪生领跑者,铸就中国数字科技全球竞争力
大数据·人工智能·算法·安全·数字孪生