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.
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)
- Open Manager → Install Custom Nodes
- Search:
32GPU Video Upscaleormultigpu upscale - 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
- Put an upscale model in
models/upscale_models/(ESRGAN / UltraSharp / …). - Set each branch to a different
gpu_id. - 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() >= 2for a real speedup- Do not change
CUDA_VISIBLE_DEVICES/HIP_VISIBLE_DEVICESafter ComfyUI starts
License
MIT — see LICENSE.