核心报错: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。
根本原因:
- Windows 上 triton 内置 tcc 编译器对Python3.13支持存在兼容性 bug,编译
cuda_utils.cp313‑win_amd64.pyd直接失败。 - 两条触发路径:
- 命令行参数
--use‑sage‑attention全局开启 sage‑attention - 自定义节点
comfyui‑kjnodes的 Sage 注意力覆盖节点,强制接管 attention 逻辑,一跑就触发 triton tcc 编译。
- 命令行参数
- 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‑kjnodes的Sage Attention Override节点:
- 删除该节点,不要使用这个注意力替换。
- 保存工作流,重新生成。
现象:只要这个节点存在,即便命令行不带
--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 编译缓存
- 关闭 ComfyUI
- 删除目录:
C:\Users\AI‑SPA~1\AppData\Local\Temp\triton_cache以及临时文件夹内tmp*开头的临时编译目录。 - 重启 ComfyUI。
本次报错是编译阶段失败,不是缓存损坏,该方案仅辅助。
方案 4:更新 / 降级组件
- 更新
comfyui‑kjnodes自定义节点,管理器更新;该节点的 sage 注意力实现在高版本可能修复 python3.13 问题。 - 注意:Windows 下 triton 对 Python3.13 支持不完善,很多预编译包缺失。如果大量 triton 报错,备选:降级便携包 Python 到 3.11。
验证步骤
- 移除
--use‑sage‑attention启动参数 - 工作流删除 kjnodes 的 Sage Attention Override 节点
- 重启 ComfyUI,跑 Wan2.1 生成,不再触发 tcc.exe 编译调用。
补充说明