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

相关推荐
数据光子几秒前
【YOLO数据集】国内交通信号检测
人工智能·python·安全·yolo·目标检测·目标跟踪
四谎真好看5 分钟前
JavaWeb 学习笔记(Day02)之Vue
笔记·学习·vue·学习笔记·javaweb
霍格沃兹测试开发学社测试人社区6 分钟前
GitLab 测试用例:实现 Web 场景批量自动化执行的方法
人工智能·智能体
Mintopia7 分钟前
🤖 AI 应用自主决策的可行性 — 一场从逻辑电路到灵魂选择的奇妙旅程
人工智能·aigc·全栈
百***78757 分钟前
2026 优化版 GPT-5.2 国内稳定调用指南:API 中转实操与成本优化
开发语言·人工智能·python
:mnong8 分钟前
辅助学习神经网络
人工智能·神经网络·学习
jinyeyiqi20269 分钟前
城市噪声监测设备技术解析及智慧城市应用方案 金叶仪器全场景适配的城市噪声监测设备
人工智能·智慧城市
光锥智能10 分钟前
蚂蚁阿福月活用户已达3000万,OpenAI跟进发布ChatGPT Health
人工智能·chatgpt
南屿欣风12 分钟前
Sentinel 资源异常处理优先级笔记
spring boot·笔记·sentinel
空山新雨后、13 分钟前
Masked AutoEncoder(MAE)详解:高 Mask 率如何造就强视觉表征
人工智能·深度学习·chatgpt·多模态