Nodes/comfyui-gpu-resident-loader/Report VAE Residency
ComfyUI Node

Report VAE Residency

Is the VAE actually staying put? Read the report

By xmarre·Created 5 months ago·Updated 5 months ago· 2
Report VAE Residency
  • vae
  • report_json

Report VAE Residency returns a JSON report for a single tracked VAE: sticky state, priority, current device, byte estimates, and how it was loaded. VAE in, report_json string out. It's the smallest member of the pack's report trio, and its job is answering one question: is the VAE actually resident the way I think it is?

The registry entries carry the usual bookkeeping - entry_id, kind, source_path / basename, sticky, priority, created_at, last_touched, loaded_bytes / total_bytes, load_device, offload_device, current_device, last_method, alive. The last_method field matters most: it records whether the load was a direct safetensors GPU ingest, a CPU-to-CUDA fallback, a component-only load, the CPU-first torch.load() path, or a recorded failure.

The only input is vae; the output is a STRING.

Here's a concrete scenario where this node earns its keep. You've pinned a VAE or let the sticky_gpu policy hold it on the GPU side, and your decode step still feels slow on every run. The VAE is a classic victim of silent eviction - it's small, so ComfyUI treats it as cheap to reload and easy to drop under pressure. A report will show you the truth: either sticky: true with the device you expected, or an alive state that tells you it's been churned out and rebuilt. That turns a vague "decode feels slow" into a specific, fixable fact.

Scope notes, identical to the other reports: it only reports on objects the registry tracks - a VAE loaded through a private third-party path returns tracked: false. And the byte numbers are registry estimates, not a replacement for nvidia-smi when you're chasing real memory pressure.

The calibration is easy here: this is a pure diagnostics node, so don't add it to a production graph expecting it to do anything. Add it while you're debugging, read the JSON, remove it (or keep it behind a display node you glance at during tuning). If you never wonder what your VAE is doing in memory, you don't need it. But if you've ever suspected a component was being evicted and reloaded on every run, this is the node that confirms it.

Install with the pack:

cd ComfyUI/custom_nodes
git clone https://github.com/xmarre/ComfyUI-GPU-Resident-Loader
cd ComfyUI-GPU-Resident-Loader
pip install -r requirements.txt

Restart ComfyUI, or search "comfyui-gpu-resident-loader" in ComfyUI Manager.

CategoryGPU Resident Loader/residency

Inputs (1)

NameTypeDefaultDescription
vaeVAE

Outputs (1)

NameTypeDescription
report_jsonSTRING