Report CLIP Residency
See what the registry thinks your text encoder is doing
- clip
- report_json
Report CLIP Residency returns a JSON report for a single tracked CLIP: whether it's sticky, its priority, which device it's on, how many bytes it's holding, and - the field that makes it worth wiring in - how it actually got loaded. CLIP in, report_json string out.
The pack's registry tracks every native object that passes through its patched load paths, and each entry carries bookkeeping like entry_id, kind, source_path / basename, sticky, priority, created_at, last_touched, loaded_bytes / total_bytes, load_device, offload_device, current_device, last_method, and alive. The last_method field is the interesting one: it records whether the CLIP loaded via direct safetensors GPU ingest, the CPU-to-CUDA fallback, a component-only load, the CPU-first torch.load() path, or a recorded failure. That's how you find out your text encoder has been quietly loading through the slow path this whole time.
The only input is clip. The output is a STRING you can push into a text display or a JSON-parsing node.
Two scope notes, same as the other report nodes. It only sees objects the registry tracks - a CLIP loaded through a third-party node's private path isn't tracked, and you'll get a payload with tracked: false instead of a report. And the numbers are registry bookkeeping (estimates from headers and runtime metadata), so if you're chasing a literal OOM, nvidia-smi is still the source of truth.
Why a report just for the CLIP? Because the text encoder is the component most likely to be loaded lazily and reloaded by accident. If your workflow encodes the same prompt repeatedly and each encode feels slow, a residency report tells you whether the CLIP is actually staying put or getting evicted and rebuilt between runs. It's the quickest way to confirm your pin or preload is working, and the fastest way to discover that it isn't.
Honest calibration: for a healthy single-run workflow, you'll never need this node. It's a debugging tool - reach for it when residency behavior surprises you, or when you're tuning the pack's policy and want to see the state change. If you only run one simple generation at a time, skip 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.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| clip | CLIP | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| report_json | STRING | — |