GPU Init
The node that decides which card does the work
- Start
- info
If you have one GPU, close this tab. GPU Init exists for exactly one job: on a multi-card rig, telling a specific branch of your graph "run here, on card N." ComfyUI's default world is single-GPU - its model management picks one device and the other cards sit there doing nothing. This node is that wall's battering ram.
How it works
You drop in one GPU Init per card you want to use, set gpu_id to that card's index, and the node warms it up: it switches CUDA/ROCm context to that device, forces a tiny allocation and a synchronize so the context actually exists, then hands you a Start handle. That handle is a little payload that remembers which gpu_id it belongs to. Wire Start into this pack's Upscale Image (Model + Start) and the upscale runs on that card. Wire a different Init to each branch and you've got real parallelism instead of ComfyUI's usual one-card-at-a-time.
It also forces the dependency order: because the upscale node requires the Start wire, ComfyUI has to run the Init before the branch, which is what lets several branches overlap once they're all on their own cards.
The inputs and outputs that matter
gpu_id is an INT from 0 to 31 - the 0-31 range is where the pack's "32 GPU" name comes from. The tooltip on the field is genuinely useful: it introspects torch.cuda.device_count() and lists the cards ComfyUI can actually see, with names and VRAM. If torch finds no CUDA/ROCm, the tooltip says so and the node falls back to CPU. Ask for a card that isn't visible and you get a hard error ("Requested GPU 3, but only 2 device(s) are visible") rather than a silent fail.
Two outputs, both simple:
- Start - the handle you feed to the upscale branch. This is the one you actually use.
- info - a STRING like
GPU 0: NVIDIA GeForce RTX 4090 (23.55 GiB)you can route to a text-display node if you like seeing what's doing what.
Install
Same story as the whole pack - no extra pip dependencies, it runs on ComfyUI's own torch/spandrel stack:
# ComfyUI Manager → Install Custom Nodes → search "32GPU Video Upscale"
# or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/WhyNotNN/ComfyUI-32GPU-Video-Upscale.git
# then restart ComfyUI
You also need a recent ComfyUI with async node support, and don't change CUDA_VISIBLE_DEVICES / HIP_VISIBLE_DEVICES after ComfyUI has started - the node's view of "visible" is frozen at launch.
Honest notes
GPU Init is not strictly required. The pack's Parallel Upscale (Multi-GPU) node fans work out to several cards from a plain gpu_ids string, no Start plumbing needed. The Init → Start pattern is the explicit, per-branch approach - it's what the included two-GPU image workflow uses, and it's the right call when you want to see and control each branch.
Two things worth knowing before you commit to this pack. First, "32 GPUs" is aspirational - the realistic win is two to eight cards, and the split/merge video example assumes you've already got the hardware. Second, this is a brand-new, barely-adopted release: at the time of writing it's a single commit, the README still carries template placeholders, and it has essentially no community footprint. Treat it as early days - expect rough edges, and check the repo before assuming a behavior is stable.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| gpu_id | INT | 00–31 | CUDA/ROCm device index to initialise (0..31). CUDA/ROCm not available (CPU fallback) |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| Start | START | — |
| info | STRING | — |