卓特视觉
AI生成视频

ComfyUI中使用Triton 与 SageAttention的完美兼容解决方案

结论先行:PyTorch 2.5.1 + cu124 + xFormers 0.0.28.post3 + Triton 3.2.0 + SageAttention 1.0.6 这个组合在comfyui中可以完美兼容不报错!本人已经实测,完美运行!

如何实现这个完美兼容的环境?

我以Python 3.10.11环境为例,请按照下面的顺序依次安装即可!

1.安装PyTorch 2.5.1 + CUDA 12.4

如果使用命令安装,可能会因为版本或者网络问题导致出错,所以为了避免出现错误,请直接使用秋叶启动器里面的环境维护进行安装,高级选项-环境维护-安装Pytorch-选择版本,在列表里选择Torch 2.5.1 (CUDA 12.4) + xFormers 0.0.28.post3,点击安装即可!

注意,请先确保你的NVIDIA CUDA Toolkit已正常安装,可命令行运行nvidia-smi查看你可以安装的CUDA最高版本。
ComfyUI中使用Triton 与 SageAttention的完美兼容解决方案

2、安装Triton 3.2.0(Windows 专用 wheel)

下载轮子文件:

https://github.com/woct0rdho/triton-windows/releases/download/v3.2.0-windows.post10/triton-3.2.0-cp310-cp310-win_amd64.whl

然后命令行运行,先卸载已有版本,再安装下载的版本

pip uninstall -y triton
pip install “G:\AIGC\ComfyUI-aki-v1.3\triton-3.2.0-cp310-cp310-win_amd64.whl

注意,这里蓝色部分指whl文件路径。运行之后,即可成功安装插件所需要的Triton 3.2.0了!

3、安装SageAttention 1.0.6

使用清华 PyPI 镜像:

pip install sageattention==1.0.6 -i https://pypi.tuna.tsinghua.edu.cn/simple

至此,你已经安装完成了完全兼容的(PyTorch 2.5.1 + cu124 + xFormers 0.0.28.post3 + Triton 3.2.0 + SageAttention 1.0.6)但是,你再次重新启动comfyui,可能依然会报错!

不过你会发现启动日志里 99 % 的报错并不是 Triton 与 SageAttention 引起的,而是「bitsandbytes 与 diffusers 版本冲突」导致 No module named ‘triton.ops’ 的级联失败。所以,此时只要降级 bitsandbytes 到 0.41.3 以下或升级 diffusers ≥ 0.27.2就能一次性消除全部节点导入错误,同时保留 Triton + SageAttention 功能。

4、编译安装bitsandbytes

这里我推荐降级bitsandbytes 到 0.41.3 ,但是官方/社区目前没有bitsandbytes现成的Windows-CUDA12.4预编译DLL,所以只能自己编译,也非常简单!

下面是编译过程:
1、先卸掉现在的包

pip uninstall -y bitsandbytes

2、安装编译依赖
CUDA Toolkit 12.4(已装可跳过)
Visual Studio 2022(必须勾选 “Desktop development with C++”)
3、克隆源码并编译

注意代码中的路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin\nvcc.exe要与你自己的环境一致!

git clone https://github.com/bitsandbytes-foundation/bitsandbytes.git
cd bitsandbytes
set CMAKE_CUDA_COMPILER="C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\bin\nvcc.exe"
cmake -DCOMPUTE_BACKEND=cuda -S . -B build -A x64
cmake --build build --config Release
pip install -e .

编译安装完成之后,运行验证命令:

python -m bitsandbytes

如果出现类似下面这样的SUCCESS代码,就代表成功了:

================ bitsandbytes v0.47.0.dev0 =================
Platform: Windows-10-10.0.22621-SP0
Python: 3.10.11
PyTorch: 2.5.1+cu124
CUDA: 12.4
HIP: N/A
XPU: N/A
Related packages:
accelerate: 1.4.0
diffusers: 0.33.1
numpy: 1.26.4
pip: 24.2
peft: 0.14.0
safetensors: 0.5.3
transformers: 4.52.4
triton: 3.2.0
trl: not found
============================================================
PyTorch settings found: CUDA_VERSION=124, Highest Compute Capability: (8, 6).
Checking that the library is importable and CUDA is callable...
SUCCESS!

或者你可以直接在 Python 里:

import bitsandbytes as bnb
import torch

print("bitsandbytes CUDA 可用:", bnb.cuda.is_available()) # 应该返回 True
print("PyTorch CUDA 可用:", torch.cuda.is_available()) # 应该返回 True

两行都输出 True 就说明 CUDA 12.4 + bitsandbytes 已就绪,可以正常用 4-bit / 8-bit 量化模型了。

经过上面的编译和安装,再次重启comfyui,所有相关报错都消失了,与之相关的工作流也都可以正常运行了!

© 版权声明

相关文章