ComfyUI Windows 踩坑:SageAttention 触发 Triton tcc.exe 编译失败 SamplerCustom 节点报错解决

12次阅读
没有评论

核心报错subprocess.CalledProcessError tcc.exe,Triton 使用内置 tcc 编译器编译 cuda_utils.c 失败。

触发栈:comfyui‑kjnodes 里的 SageAttention 注意力替换节点,调用 triton jit 编译内核,tcc.exe 编译 pyd 模块返回非 0 退出码。

环境关键点:Windows 便携包、Python3.13、PyTorch2.12+cu130、启动参数带--use‑sage‑attention,wan 视频模型,双 4090。

根本原因:

  1. Windows 上 triton 内置 tcc 编译器对Python3.13支持存在兼容性 bug,编译cuda_utils.cp313‑win_amd64.pyd直接失败。
  2. 两条触发路径:
    • 命令行参数--use‑sage‑attention全局开启 sage‑attention
    • 自定义节点comfyui‑kjnodes的 Sage 注意力覆盖节点,强制接管 attention 逻辑,一跑就触发 triton tcc 编译。
  3. CUDA13.0 本地 SDK 路径被传入 tcc,但 tcc 对高版本 CUDA+Python3.13 链接处理有问题。

次要日志里WinError121信号灯超时只是 ComfyUI‑Manager 网络请求超时,不是本次生成崩溃的原因,可以忽略。

修复方案(按优先级执行)

方案 1:关闭 SageAttention(最快,优先试)

方式 A 修改启动命令

原来启动参数包含:--use-sage-attention

删掉这个参数,重启 ComfyUI。

原来:

plaintext

python main.py --windows-standalone-build --enable-manager --cuda-device=0,1 --use-sage-attention --listen=192.168.31.197 --port=10003 --force-fp16 --output-directory=\\NAS65A682\Web\images

修改后:

plaintext

python main.py --windows-standalone-build --enable-manager --cuda-device=0,1 --listen=192.168.31.197 --port=10003 --force-fp16 --output-directory=\\NAS65A682\Web\images

方式 B 工作流内部移除 kjnodes 的 Sage 注意力节点

如果你的工作流里放了来自comfyui‑kjnodesSage Attention Override节点:

  1. 删除该节点,不要使用这个注意力替换。
  2. 保存工作流,重新生成。

现象:只要这个节点存在,即便命令行不带--use‑sage‑attention,运行 Wan 模型时依然会注入 sageattn,触发 triton tcc 编译崩溃。

方案 2:临时环境变量强制规避 tcc 编译问题(如果还想用 SageAttention)

⚠️ Windows 便携包 Python3.13 环境,triton+tcc 兼容性很差,不一定生效。

在启动 ComfyUI 之前设置环境变量:

cmd

set TRITON_USE_TCC=0
set TRITON_CACHE_DIR=%TEMP%\triton_cache

再启动 main.py。

TRITON_USE_TCC=0 试图禁用内置 tcc 编译器,但 Windows 便携包没有 gcc/clang,此方案大概率无效。Windows 版本 triton 官方只完整支持 linux。

方案 3:清理 triton 编译缓存

  1. 关闭 ComfyUI
  2. 删除目录: C:\Users\AI‑SPA~1\AppData\Local\Temp\triton_cache 以及临时文件夹内tmp*开头的临时编译目录。
  3. 重启 ComfyUI。

本次报错是编译阶段失败,不是缓存损坏,该方案仅辅助。

方案 4:更新 / 降级组件

  1. 更新comfyui‑kjnodes自定义节点,管理器更新;该节点的 sage 注意力实现在高版本可能修复 python3.13 问题。
  2. 注意:Windows 下 triton 对 Python3.13 支持不完善,很多预编译包缺失。如果大量 triton 报错,备选:降级便携包 Python 到 3.11。

验证步骤

  1. 移除--use‑sage‑attention启动参数
  2. 工作流删除 kjnodes 的 Sage Attention Override 节点
  3. 重启 ComfyUI,跑 Wan2.1 生成,不再触发 tcc.exe 编译调用。

补充说明

  • SageAttention 在 Windows 平台本身就属于实验性功能,官方主要支持 Linux;Windows 上依赖 triton 内置 tcc 编译器,Python3.13 会出现大量链接编译失败。
  • GPU 环境本身没问题,你的两张 4090 显存充足,不是 OOM 错误。
  • WinError121信号灯超时只是 ComfyUI‑Manager 联网拉取索引超时,不影响图像生成,可不用处理。
正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)
验证码