Extensions/32GPU Video Upscale (up to 32 cards)
ComfyUI Extension

32GPU Video Upscale (up to 32 cards)

Upscale video & images across up to 32 GPUs in ComfyUI. Split frames, pin each branch with GPU Init → Start (gpu_id 0–31), run Upscale-with-Model in parallel on CUDA or ROCm, then merge. Built for multi-card rigs — 2, 8, 16, or 32 GPUs. ESRGAN / UltraSharp / RealESRGAN.

By WhyNotNN·Created about a month ago·Updated about a month ago· 0
WhyNotNN/ComfyUI-32GPU-Video-Upscale
Nodes
On cloudLocal install
Stars0
Updatedabout a month ago
Readme

ComfyUI 32GPU Video Upscale

Video & image upscale across up to 32 GPUs for ComfyUI.

Search keywords: 32 gpu, 32gpu, multigpu, multi-gpu, video upscale, ESRGAN, UltraSharp, parallel upscale, ROCm, CUDA.

Works on NVIDIA CUDA and AMD ROCm whenever PyTorch sees more than one device.

Features

| Node | What it does | |------|----------------| | GPU Init | Pick gpu_id 0…31 (up to 32 GPUs), initialise the card, output Start | | Upscale Image (Model + Start) | Same as stock Upscale Image (using Model), pinned to that GPU; async so branches overlap | | Split Image Batch | Split video frames into 1–8 parts for parallel branches | | Merge Image Batch | Concatenate upscaled parts back in order | | Parallel Upscale (Multi-GPU) | One-node batch fan-out via gpu_ids="0,1,2,3" |

Install

ComfyUI Manager (recommended)

  1. Open Manager → Install Custom Nodes
  2. Search: 32GPU Video Upscale or multigpu upscale
  3. Install → Restart ComfyUI

Manual

cd ComfyUI/custom_nodes
git clone https://github.com/ВАШ_ЛОГИН/ComfyUI-32GPU-Video-Upscale.git

Restart ComfyUI. Nodes appear under category distributed.

No extra pip packages — uses ComfyUI’s torch / spandrel stack.

Quick start (video)

Example workflow: example_workflows/32gpu_video_upscale.json

Load Video → Get Video Components → Split Image Batch (num_parts=4)
                                      ├─ DistUpscale gpu_id=0 ─┐
                                      ├─ DistUpscale gpu_id=1 ─┤
                                      ├─ DistUpscale gpu_id=2 ─┤
                                      └─ DistUpscale gpu_id=3 ─┴→ Batch Images
                                                                    → Create Video → Save Video
  1. Put an upscale model in models/upscale_models/ (ESRGAN / UltraSharp / …).
  2. Set each branch to a different gpu_id.
  3. Load your video → Queue.

Scale to 16 / 32 GPUs

Split Image Batch exposes up to 8 outputs. Cascade splits:

  • 8 GPUs → num_parts=8
  • 16 GPUs → split into 2, then each half into 8
  • 32 GPUs → split into 4, then each quarter into 8

Image-only (2 GPUs)

See example_workflows/two_gpu_image_upscale.json.

GPU Init (0) ─Start─► Upscale (Model + Start) ─► Save
GPU Init (1) ─Start─► Upscale (Model + Start) ─► Save

Requirements

  • Recent ComfyUI with async node support (so Start→Upscale branches overlap)
  • torch.cuda.device_count() >= 2 for a real speedup
  • Do not change CUDA_VISIBLE_DEVICES / HIP_VISIBLE_DEVICES after ComfyUI starts

License

MIT — see LICENSE.