Nodes/ComfyUI/Select VAE Device
ComfyUI Node Runs on cloud

Select VAE Device

The quietest member of the multigpu family, and that's fine

By Comfy-Org·Created 4 years ago·Updated 20 days ago· 121,575
Select VAE Device
  • vae
  • VAE
device

Let's be honest about where this one ranks: it's the least likely of the four multigpu nodes that you'll ever need. Its sibling, Select CLIP Device, exists because text encoders have become enormous second models. The VAE is the opposite - it's small next to a diffusion model, and it only wakes up at the start (encoding) and end (decoding) of a run. So the node's job is narrow: tell ComfyUI which GPU the VAE lives on, and mostly, why would you care? Because on a dual-GPU rig where your main card is tight, decoding at high resolution is exactly the kind of burst that tips you into an OOM - and having the VAE resident on the second card keeps that spike off the card doing the real work.

It's the same mechanism as the rest of the family, with one revealing difference: there is no cpu option. The dropdown only offers default and gpu:N. That's a deliberate design choice, and it's worth internalizing as the whole philosophy of the node in miniature - CPU VAE is so impractical that the developers won't even offer it. The VAE is a heavy convolutional network, and decoding is where it chokes; pinning it to system RAM is the kind of thing that turns a five-second decode into a minute of silence.

How it works

You feed it a VAE and pick a device:

  • default - restores whatever device the loader assigned, the way back to sanity if you've been experimenting.
  • gpu:N - pins the VAE's load device to the Nth GPU, and sets its offload device to ComfyUI's standard VAE offload device.

The node clones the VAE's patcher and reroutes it, keeping the VAE wrapper in sync with whatever model the patcher now owns - if the target GPU needs a freshly loaded copy, the node handles that. Same portability guard as its siblings: if the workflow asks for a GPU that doesn't exist on the current machine, the VAE passes through unchanged with a log message rather than an error. And if a workflow smuggles "cpu" in anyway - say it was built with the CLIP node's dropdown and shared over - the request is dropped with a log and the VAE passes through. It won't let you shoot your foot; it'll just quietly refuse.

Inputs and outputs

  • vae - the VAE from your checkpoint or VAE loader.
  • device (COMBO: default / gpu:N) - the only thing you'll ever set.

Output is a single VAE, rerouted. It plugs back into anything that takes a VAE - most often the vae input on a VAE Decode, or a loader's VAE socket if you want it routed earlier in the graph.

The honest take

For a single-GPU machine this node is a no-op you don't need; the loader already put the VAE where it should be. On a dual-GPU box, the realistic play is pairing it with Select Model Device or Select CLIP Device - park the big encoder on card two and park the VAE there too, so card one holds nothing but the diffusion model and the sampler. If your main card fits the model with headroom, skip it. If you're right at the edge and high-res decode is where you fall off, this is a two-second fix that costs you nothing. It ships with ComfyUI core - no install - and arrived with the rest of the advanced/multigpu family in late May 2026.

Categoryadvanced/multigpu

Inputs (2)

NameTypeDefaultDescription
vaeVAE
deviceCOMBO1 options: default

Outputs (1)

NameTypeDescription
VAEVAE