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的朋友们,复制这套流程,适当根据自己的环境配置调整参数变量,安心加速吧!

相关推荐
程序员敲代码吗16 分钟前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
琅琊榜首202017 分钟前
AI生成脑洞付费短篇小说:从灵感触发到内容落地
大数据·人工智能
Yyyyy123jsjs19 分钟前
如何通过免费的外汇API轻松获取实时汇率数据
开发语言·python
imbackneverdie26 分钟前
近年来,我一直在用的科研工具
人工智能·自然语言处理·aigc·论文·ai写作·学术·ai工具
喵手28 分钟前
Python爬虫实战:GovDataMiner —— 开放数据门户数据集元数据采集器(附 CSV 导出)!
爬虫·python·爬虫实战·python爬虫工程化实战·零基础python爬虫教学·open data·开放数据门户数据集列表
历程里程碑41 分钟前
滑动窗口---- 无重复字符的最长子串
java·数据结构·c++·python·算法·leetcode·django
roman_日积跬步-终至千里1 小时前
【计算机视觉-作业1】从图像到向量:kNN数据预处理完整流程
人工智能·计算机视觉
春日见1 小时前
自动驾驶规划控制决策知识点扫盲
linux·运维·服务器·人工智能·机器学习·自动驾驶
人工智能AI技术1 小时前
【Agent从入门到实践】43 接口封装:将Agent封装为API服务,供其他系统调用
人工智能·python