Wan2.2 中文文档 下载 App

FlashAttention 装不上怎么办:从编译错误到 Hopper 专属 3 版

先理解为什么要装

FlashAttention 利用 GPU 的片上 SRAM 做内存融合,在注意力机制上大幅降低显存消耗、显著加速推理。对 Wan2.2 来说它是性能关键组件,虽然不是硬依赖(不装也能跑),但装了之后显存省一截、速度快一截。

Wan2.2 支持:

FlashAttention 版本GPU 架构
FlashAttention 3Hopper(H100)
FlashAttention 2Ampere(A100 / 4090 / 3090)
FlashAttention 1老架构(不推荐)

官方建议的安装顺序

如果 flash_attn 安装失败,先安装其他所有依赖,最后再单独安装 flash_attn。

这个顺序能避免 FlashAttention 编译时找不到依赖库。

最常见的安装方式

方式一:pip install(Linux 最稳)

pip install flash-attn --no-build-isolation

--no-build-isolation 让编译能用到已安装的 PyTorch 和 CUDA 头文件。

方式二:wheel 包(Windows 推荐)

Windows 上从源码编译经常失败,建议直接下载对应版本的预编译 wheel:

  1. 确认你的 PyTorch + CUDA 版本
  2. 在 flash-attn 的 GitHub Releases 里找匹配的 wheel
  3. pip install 下载的文件.whl

版本兼容性速查

组件需要的最低版本
PyTorch≥ 2.4.0
CUDA Toolkit与 PyTorch 匹配(PyTorch 2.4 默认 CUDA 12.1)
Python3.10 ~ 3.12
NVIDIA 驱动≥ 对应 CUDA 要求

版本不匹配会报各种莫名其妙的编译错误。最稳妥的做法是按 Wan2.2 仓库的 requirements.txt 里指定的版本来装 PyTorch。

不装 FlashAttention 也能跑吗

能。只是:

如果你已经在 4090 上装不上 FlashAttention 又要跑 TI2V-5B,考虑:

编译错误常见类型

错误原因解决
nvcc not found没装 CUDA Toolkit 或 PATH 没配对装 CUDA Toolkit,检查 nvcc 版本
CUDA version mismatchPyTorch 和 CUDA 版本不匹配重装匹配版 PyTorch
MSVC version mismatch(Windows)Visual Studio C++ Build Tools 版本太旧装最新 VS Build Tools
no module named 'flash_attn'其实是装成功但 import 路径问题pip show flash-attn 确认安装位置