flash_attn目前官方只發布了Linux版本whl沒有發佈windows對應版本,但是windows上時常需要使用,因此github倉庫futureflsl/flash_attn_chinese_mirror發佈了一系列對應國內下載版本,不用擔心網速問題即可下載。版本目前彙總如下:
flash_attn-2.8.3+cu128torch2.9.0cxx11abiFALSE-cp313-cp313-win_amd64.whl
flash_attn-2.8.3+cu128torch2.9.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.8.3+cu128torch2.9.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.8.3+cu128torch2.9.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.8.3+cu128torch2.8.0cxx11abiFALSE-cp313-cp313-win_amd64.whl
flash_attn-2.8.3+cu128torch2.8.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.8.3+cu128torch2.8.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.8.3+cu128torch2.8.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.8.3+cu128torch2.7.0cxx11abiFALSE-cp313-cp313-win_amd64.whl
flash_attn-2.8.3+cu128torch2.7.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.8.3+cu128torch2.7.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.8.3+cu128torch2.7.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.8.3+cu124torch2.6.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.8.2+cu128torch2.8.0cxx11abiFALSE-cp313-cp313-win_amd64.whl
flash_attn-2.8.2+cu128torch2.8.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.8.2+cu128torch2.8.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.8.2+cu128torch2.8.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.8.2+cu128torch2.7.0cxx11abiFALSE-cp313-cp313-win_amd64.whl
flash_attn-2.8.2+cu128torch2.7.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.8.2+cu128torch2.7.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.8.2+cu128torch2.7.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.8.2+cu124torch2.6.0cxx11abiFALSE-cp313-cp313-win_amd64.whl
flash_attn-2.8.2+cu124torch2.6.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.8.2+cu124torch2.6.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.8.2+cu124torch2.6.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.7.4.post1+cu124torch2.6.0cxx11abiFALSE-cp313-cp313-win_amd64.whl
flash_attn-2.7.4.post1+cu124torch2.6.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.4.post1+cu124torch2.6.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.7.4.post1+cu124torch2.6.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.7.4.post1+cu124torch2.5.1cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.4.post1+cu124torch2.5.1cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.7.4.post1+cu124torch2.4.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.4.post1+cu124torch2.4.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.7.4.post1+cu124torch2.4.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.7.4+cu126torch2.6.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.4+cu126torch2.6.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.7.4+cu126torch2.6.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.7.4+cu124torch2.6.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.4+cu124torch2.6.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.7.4+cu124torch2.6.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.7.4+cu124torch2.5.1cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.7.1.post1+cu124torch2.5.1cxx11abiFALSE-cp39-cp39-win_amd64.whl
flash_attn-2.7.1.post1+cu124torch2.5.1cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.1.post1+cu124torch2.5.1cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.7.1.post1+cu124torch2.5.1cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.7.1.post1+cu124torch2.4.0cxx11abiFALSE-cp39-cp39-win_amd64.whl
flash_attn-2.7.1.post1+cu124torch2.4.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.1.post1+cu124torch2.4.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.7.1.post1+cu124torch2.4.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.7.1.post1+cu124torch2.3.1cxx11abiFALSE-cp39-cp39-win_amd64.whl
flash_attn-2.7.1.post1+cu124torch2.3.1cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.1.post1+cu124torch2.3.1cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.7.1.post1+cu124torch2.3.1cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.5.1cxx11abiFALSE-cp39-cp39-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.5.1cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.5.1cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.5.1cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.5.1cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.5.1cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.5.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.5.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.4.1cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.4.1cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.4.1cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.4.0cxx11abiFALSE-cp39-cp39-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.4.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.4.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.4.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.4.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.4.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.4.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.3.1cxx11abiFALSE-cp39-cp39-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.3.1cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.3.1cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.7.0.post2+cu124torch2.3.1cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.6.3+cu123torch2.4.0cxx11abiFALSE-cp39-cp39-win_amd64.whl
flash_attn-2.6.3+cu123torch2.4.0cxx11abiFALSE-cp38-cp38-win_amd64.whl
flash_attn-2.6.3+cu123torch2.4.0cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.6.3+cu123torch2.4.0cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.6.3+cu123torch2.4.0cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.6.3+cu123torch2.3.1cxx11abiFALSE-cp39-cp39-win_amd64.whl
flash_attn-2.6.3+cu123torch2.3.1cxx11abiFALSE-cp38-cp38-win_amd64.whl
flash_attn-2.6.3+cu123torch2.3.1cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.6.3+cu123torch2.3.1cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.6.3+cu123torch2.3.1cxx11abiFALSE-cp310-cp310-win_amd64.whl
flash_attn-2.6.3+cu123torch2.2.2cxx11abiFALSE-cp39-cp39-win_amd64.whl
flash_attn-2.6.3+cu123torch2.2.2cxx11abiFALSE-cp38-cp38-win_amd64.whl
flash_attn-2.6.3+cu123torch2.2.2cxx11abiFALSE-cp312-cp312-win_amd64.whl
flash_attn-2.6.3+cu123torch2.2.2cxx11abiFALSE-cp311-cp311-win_amd64.whl
flash_attn-2.6.3+cu123torch2.2.2cxx11abiFALSE-cp310-cp310-win_amd64.whl
這裏以flash_attn-2.8.3+cu128torch2.9.0cxx11abiFALSE-cp313-cp313-win_amd64.whl為例子,以下是詳細的安裝教程,其他版本類似:
前提條件檢查
- Python版本 :必須是Python 3.13(cp313表示Python 3.13)
- CUDA版本 :需要CUDA 12.8環境
- PyTorch版本 :需要PyTorch 2.9.0
- 操作系統 :Windows 64位(win_amd64)
安裝步驟
1. 確認環境符合要求
# 檢查Python版本
python --version
# 檢查PyTorch和CUDA
python -c "import torch; print(f'PyTorch版本: {torch.__version__}'); print(f'CUDA可用: {torch.cuda.is_available()}'); print(f'CUDA版本: {torch.version.cuda}')"
2. 安裝方法
方法一:直接使用pip安裝(推薦)
# 如果有.whl文件本地路徑
pip install flash_attn-2.8.3+cu128torch2.9.0cxx11abiFALSE-cp313-cp313-win_amd64.whl
# 或者如果是從網上下載的
pip install "完整文件路徑\flash_attn-2.8.3+cu128torch2.9.0cxx11abiFALSE-cp313-cp313-win_amd64.whl"
方法二:從官方源安裝(自動選擇合適版本)
# FlashAttention v2官方安裝
pip install flash-attn --no-build-isolation
# 或者指定版本
pip install flash-attn==2.8.3
3. 驗證安裝
import torch
import flash_attn
print(f"FlashAttention版本: {flash_attn.__version__}")
# 測試簡單功能
batch_size, seq_len = 2, 1024
nheads, d = 8, 64
q = torch.randn(batch_size, seq_len, nheads, d).cuda()
k = torch.randn(batch_size, seq_len, nheads, d).cuda()
v = torch.randn(batch_size, seq_len, nheads, d).cuda()
output = flash_attn.flash_attn_func(q, k, v)
print(f"輸出形狀: {output.shape}")
print("安裝成功!")
常見問題解決
1. 如果出現版本不匹配錯誤
# 可能需要升級/降級PyTorch
pip install torch==2.9.0 torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128
2. 如果缺少依賴
# 安裝必要的依賴
pip install packaging ninja
3. 如果CUDA版本不對
- 檢查NVIDIA驅動是否支持CUDA 12.8
- 更新顯卡驅動到最新版本
- 確保環境變量
CUDA_PATH指向正確的CUDA 12.8安裝路徑
4. 編譯相關問題
對於Windows用户,如果遇到編譯錯誤:
# 安裝Visual C++ Build Tools
# 從微軟官網下載安裝Visual Studio Build Tools
# 選擇"C++桌面開發"工作負載
# 或者使用預編譯的wheel文件
備選方案
如果這個特定版本安裝失敗,可以考慮:
- 使用兼容版本 :
pip install flash-attn==2.7.3 # 較舊但可能更穩定
- 從源碼編譯 (需要開發環境):
git clone https://github.com/Dao-AILab/flash-attention
cd flash-attention
pip install -e .
- 使用Docker容器 :
FROM pytorch/pytorch:2.9.0-cuda12.8-cudnn9-runtime
RUN pip install flash-attn
注意事項
- 文件名解析 :
cu128:CUDA 12.8torch2.9.0:PyTorch 2.9.0cxx11abiFALSE:使用舊的C++ ABIcp313:Python 3.13win_amd64:Windows 64位
- 確保所有包版本嚴格匹配,否則可能導致運行時錯誤
如果遇到具體錯誤信息,請提供詳細信息以便進一步幫助。