结论先行: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最高版本。
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,所有相关报错都消失了,与之相关的工作流也都可以正常运行了!