ComfyUI-Distributed:专为 ComfyUI 设计的多显卡分布式处理插件,显著提升图像生成、变体生成以及图像放大等任务的效率

插件5个月前发布 小马良
750 0

如果你正在使用 ComfyUI 并且拥有多块显卡或多台机器,那么你一定不能错过这个名为 ComfyUI-Distributed 的强大扩展。

它是一个专为 ComfyUI 设计的多 GPU 分布式处理插件,可以显著提升图像生成、变体生成以及图像放大等任务的效率。无论你是创作者、开发者还是 AI 爱好者,这个工具都能帮助你更好地利用硬件资源,节省宝贵的时间。

主要功能概览

🔁 并行工作流处理

  • 并行生成:在多个 GPU 上同时运行相同的工作流,使用不同种子生成多样化的结果。
  • 自动负载均衡:智能分配任务到所有可用节点,充分利用资源。
  • 批处理加速:通过多 GPU 同时处理,加快图像变体生成速度。

🖼️ 分布式图像放大

  • 真正的分布式处理:将大型放大任务切分为多个图块,在不同 GPU 上并行处理。
  • 基于图块的放大支持:专为 Ultimate SD Upscale 节点优化,实现高效的任务分配。

🧰 管理与监控

  • 本地/远程节点管理:从主界面启动、停止和监控工作节点。
  • 网络支持:可连接局域网或跨网络的远程 GPU。
  • 实时状态监控:查看每个节点的状态、显存使用情况和性能表现。
  • 内存管理:一键清理显存缓存,避免资源浪费。
  • 简单配置:通过 JSON 文件进行配置,界面操作友好。

🛠 安装步骤

  1. 将仓库克隆至 ComfyUI 的 custom_nodes 目录:
cd ComfyUI/custom_nodes
git clone https://github.com/yourusername/ComfyUI-Distributed.git
  1. 重启 ComfyUI(如需远程节点,请添加启动参数 --enable-cors-header)。

🧩 快速开始指南

添加本地工作节点(适用于单机多卡)

  1. 打开左侧“分布式 GPU 面板”;
  2. 点击“添加工作节点”;
  3. 填写信息:
    • 名称:如 “GPU0”
    • 端口:唯一端口号(如 8189)
    • CUDA 设备:对应 nvidia-smi 中的索引号(如 0, 1)
    • 额外参数:如 --lowvram--reserve-vram 2
  4. 保存并选择性地启动节点。

添加远程工作节点(适用于多台设备)

  1. 在远程机器上启动 ComfyUI,并加上参数:
comfyui --listen --enable-cors-header
  1. 确保防火墙开放指定端口(如 8189);
  2. 在主机器中添加远程节点:
    • 启用“远程工作节点”选项;
    • 输入 IP 地址和端口号;
    • 保存后即可连接使用。

⚙️ 节点说明与使用方法

🧑‍🔬 分布式收集器(Distributed Collector)

  • 放置在图像生成节点之后;
  • 自动合并来自不同 GPU 的结果;
  • 无需手动拼接,简化流程。

🎲 分布式种子(Distributed Seed)

  • 接入采样器的种子输入;
  • 每个节点自动生成偏移种子,确保输出多样性;
  • 可配合固定种子节点使用。

📷 分布式放大节点(Ultimate SD Upscale Distributed)

  • 支持将放大任务切分到多个 GPU;
  • 显著提高大尺寸图像放大效率;
  • 配合 ESRGAN 等模型使用效果更佳。

📊 界面功能一览

功能描述
工作节点状态实时显示各节点运行状态
启动/停止控制本地节点启停
清理内存一键释放所有节点显存
中断任务停止当前执行中的任务
查看日志实时跟踪节点运行日志

🧪 典型工作流示例

✅ 基础分布式生成流程

  1. 构建常规图像生成流程;
  2. 添加 Distributed Seed 节点,接入采样器种子;
  3. 添加 Distributed Collector,置于 VAE 解码后;
  4. 在界面启用工作节点;
  5. 运行工作流,享受多 GPU 加速!

✅ 分布式图像放大流程

  1. 使用 ESRGAN 或其他模型对图像进行初步放大;
  2. 输入到 Ultimate SD Upscale Distributed 节点;
  3. 设置图块大小和重叠区域;
  4. 启用工作节点以加速处理;
  5. 输出最终高清图像。

🛠 故障排查建议

问题解决方案
工作节点无法启动检查端口是否被占用、CUDA 设备是否存在
图像无法正确合并确保远程节点拥有相同的模型和插件
网络连接失败检查防火墙设置、IP 是否可达
出现 CORS 错误主节点和远程节点都需添加 --enable-cors-header 参数
节点提示“未受界面管理”应使用界面统一管理节点启动

🛠 开发计划与未来功能

本项目仍在持续开发中,欢迎贡献代码!以下是已规划的部分新功能:

  • 通过 SSH 控制远程节点
  • 在界面中直接查看远程节点日志
  • 优化节点超时机制
  • 支持 Runpod 平台节点接入
© 版权声明

相关文章

暂无评论

none
暂无评论...