根因:Windows 下 Triton 使用 tcc.exe 编译 cuda_utils.c 失败,由 comfyui‑kjnodes 的 SageAttention 触发,Python3.13 + CUDA13.0 环境,Windows 平台 triton+tcc 编译链路本身兼容性很差。
报错栈关键点:
comfyui‑kjnodes节点做了attention_override_sage替换注意力实现- 调用
sageattn→ triton kernel JIT 编译 - triton 内部 tcc.exe 编译
cuda_utils.c返回非 0 退出码,直接崩溃。
次要日志里的
WinError 121 信号灯超时只是 ComfyUI‑Manager 网络拉取缓存超时,不是本次生成失败的原因,可以忽略。
方案 1:临时关闭 SageAttention(最快修复,优先尝试)
你启动参数带了 --use‑sage‑attention,同时 kjnodes 节点又强制开启 sage 注意力。
方式 A 修改启动命令
删掉启动参数中的 --use-sage-attention,重启 ComfyUI。
原来:
plaintext
--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
--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 节点,直接删除该节点,不要启用 sage 注意力补丁。
Wan 视频模型在 Windows 上,SageAttention + triton+tcc 组合极易编译失败,属于已知兼容性问题。
做完重启 ComfyUI,重新跑 Wan2.1 工作流。
方案 2:环境变量强制 triton 不使用 tcc 编译器(如果需要保留 sage)
打开 cmd,在启动 ComfyUI 之前设置环境变量,强制 triton 使用 msvc,不使用内置 tcc.exe:
cmd
set TRITON_USE_TCC=0
再启动你的 ComfyUI。
前提:本机安装了 Visual Studio Build Tools(MSVC x64 编译器),否则会报找不到 cl.exe。
方案 3:清理 triton 临时缓存(编译缓存损坏)
- 关闭 ComfyUI
- 删除用户临时目录,把这个目录全部删掉:
C:\Users\AI‑SPA~1\AppData\Local\Temp\triton*所有triton_开头文件夹全部删除。 - 重启 ComfyUI 重新生成 kernel 缓存。
方案 4:降级 / 规避组合(Windows+Python3.13 注意)
Python3.13 在 Windows 上 triton 官方支持很差,tcc 编译经常炸。
- 不建议 Windows 嵌入式 python3.13 跑 triton/sageattention;
- 如果你坚持用 sageattention,建议切 python3.11 环境。
排查顺序建议
- ✅ 第一步:移除启动参数
--use-sage-attention+ 删除工作流内 kjnodes 的 sage 注意力覆盖节点,重启,优先测试。 - 失败再:清理 temp 下 triton 缓存。
- 需要 sage 性能:安装 VS Build Tools,设置
TRITON_USE_TCC=0。
补充说明
- 你的硬件:双 4090,显存充足,不是 OOM 报错;
- CUDA v13.0 + pytorch2.12.0+cu130 本身没问题;
- 崩溃点纯粹是 Windows triton 内置 tcc 编译器编译 cuda_utils.c 失败,由 sageattention 触发。
提示:Wan2.1 视频模型原生 pytorch 注意力在双 4090 上速度已经够用,Windows 环境不强行上 SageAttention 会少很多 triton 编译类坑。