How to use gpu when clip encoding?

在ComfyUI中使用 Load CLIP节点 加载CLIP模型进行文本编码时,尽管节点设备选项已设为“default”,但ComfyUI仍然将CLIP/text encoder模型强制加载到CPU上运行,导致编码极慢。该问题在加载WanTEModel等视觉语言模型时也会出现。日志中明确显示 CLI

How to use gpu when clip encoding?

How to use gpu when clip encoding?

快速结论:当你使用“Load CLIP”节点且设备选项设为“default”时,CLIP文本编码模型仍被强制加载到CPU上运行,导致编码速度极慢。优先排查方式:检查日志中是否出现CLIP/text encoder model load device: cpu,并尝试临时修改ComfyUI源码中的nodes.py文件。

问题场景

在ComfyUI中使用Load CLIP节点加载CLIP模型进行文本编码时,尽管节点设备选项已设为“default”,但ComfyUI仍然将CLIP/text encoder模型强制加载到CPU上运行,导致编码极慢。该问题在加载WanTEModel等视觉语言模型时也会出现。日志中明确显示CLIP/text encoder model load device: cpu, offload device: cpu

报错原文

Using scaled fp8: fp8 matrix mult: False, scale input: False
Requested to load WanTEModel
loaded completely; 95367431640625005117571072.00 MB usable, 6419.48 MB loaded, full load: True
CLIP/text encoder model load device: cpu, offload device: cpu, current: cpu, dtype: torch.float16

原因分析

可能原因:ComfyUI的nodes.py文件中,当设备选项不为“cpu”时,可能没有正确将CLIP模型的加载设备指向CUDA。从评论分析,代码逻辑中设备判断分支可能遗漏了对“default”选项的处理,导致所有非“cpu”的选项(包括“default”)都回退到CPU。此外,有用户指出较旧GPU(计算能力Major版本<6)以及Linux下的NVIDIA 10×0系列显卡,会因model_management.py中的should_use_fp16()函数假设这些GPU无法加载fp16模型而导致CLIP被分配到CPU。

环境排查

  • ComfyUI版本(例如,v3.68之前版本可能已修复,但v3.75+未确认)
  • Python版本
  • CUDA版本
  • PyTorch版本(确保支持CUDA)
  • 显卡型号及驱动版本(检查是否支持FP16/BF16)
  • 确认ComfyUI日志中CLIP/text encoder model load device是否为cpu

解决步骤

  1. 检查日志:运行任意包含CLIP编码的工作流,查看日志中是否出现CLIP/text encoder model load device: cpu
  2. 临时修复(修改源码):评论中提供了临时解决方案——修改ComfyUI/nodes.py文件(约第948行处)。将原代码的设备分配逻辑替换为:
    if device == "cpu":
        model_options["load_device"] = model_options["offload_device"] = torch.device("cpu")
    else:
        model_options["load_device"] = model_options["offload_device"] = torch.device("cuda")

    注意:如果拥有多GPU,有用户报告需要将"cuda"改为"cuda:0"才能正确运行。请根据你的显卡编号调整。

  3. 替代方案(针对特定模型):如果是Flux.2等模型,可尝试使用GGUF Clip Loader加载CLIP,通常能绕过此问题。
  4. 等待官方修复:根据评论,部分用户在较新版本中问题已自动解决。但RTX 5090等新显卡在最新版中仍有用户报告问题。如果上述修改不适用,建议关注ComfyUI后续更新。
  5. 注意VRAM卸载:评论中指出,GPU编码后CLIP模型可能不会从VRAM卸载,导致可用显存减少。修改源码后需自行监控显存使用情况。

验证方法

重新运行工作流,观察日志:如果CLIP/text encoder model load device变为cuda:0cuda,且编码速度明显提升(通常从秒级延迟降至毫秒级),则问题已解决。同时检查任务管理器中GPU利用率是否上升。

参考来源

Comfy-Org/ComfyUI #10569

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 14959

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注