HW Supporter (auto VRAM/attention/torch knobs)
One node that sets your VRAM headroom, attention, and torch knobs — or leaves them alone
- model
- clip
- vae
- model
- clip
- vae
- report_json
IAMCCS_HwSupporter is a MODEL patch node that bundles five hardware tweaks people normally scatter across half a dozen other packs into one place: reserved VRAM, SageAttention, torch.compile, fp16 accumulation, and TF32. You drop it between your model loader and your sampling chain, it applies whatever you asked for to that model, and it passes the model through unchanged. If your only problem is "my video render OOMs," this is often a faster fix than rebuilding your whole low-VRAM workflow.
The honest framing up front: it's a convenience wrapper, not magic. Everything it touches you could do yourself with ComfyUI's low-VRAM settings, EXTRA_RESERVED_VRAM, and env vars. What it buys you is a single widget set that decides based on what it probes - including profiles like 12GB_VRAM_32GB_RAM, low_vram, balanced, and max_speed that map to sane starting values without you knowing the numbers.
How it works
At execution it probes your GPU (total VRAM, RAM), picks recommended values for the chosen profile, then applies the effective settings to the model as a patch. The auto profile is conservative: if you leave reserved_vram_gb at 0 it chooses a safe value for you. reserved_vram_mode offers manual (use reserved_vram_gb, default 1.25 GB) or auto_used_plus, which mirrors the ReservedVRAMSetter behavior of setting EXTRA_RESERVED_VRAM = used_vram + headroom.
The attention and compile knobs are where you have to exercise judgment, because they depend on your stack:
sage_attention(defaultauto): enables a SageAttention attention override for massive speedups on some cards. It's a soft dependency - if thesageattentionpackage isn't installed, the node should warn and fall back rather than hard-fail, so it's safe to leave onauto.torch_compile_mode(defaultoff): the tooltip is unusually honest -autotriesreduce-overhead, but on Windows this can be unstable depending on your Torch build and driver. If you see random crashes and you've enabled this, turn it off first. That's the single most common "this pack broke my ComfyUI" report, and it's almost always this setting.fp16_accumulationandtf32default toautoand are worth leaving alone until a specific render tells you otherwise.
include_hardware_report adds a deeper probe to the report_json output if you want the full diagnostic, and clean_gpu_before does a model-unload + cache flush before patching (useful when a previous render left a mess, at the cost of a reload stall).
Inputs and outputs
Required: model plus the settings above. Optional: clip and vae - plug them in and they ride through untouched, so you can keep your graph tidy. Outputs: patched model, clip, vae, and a report_json STRING summarizing what was applied and any warnings. That JSON is the first place to look when a render still OOMs: it tells you what it actually did versus what you thought you asked for.
Installing it
It's part of the IAMCCS-nodes pack - install once, get every IAMCCS node. ComfyUI Manager → search IAMCCS, or:
cd ComfyUI/custom_nodes
git clone https://github.com/IAMCCS/IAMCCS-nodes.git
Restart ComfyUI; the node sits under IAMCCS/HW. No pip requirements ship with the pack. README baseline: ComfyUI ≥ 0.3.0, Python ≥ 3.12, Torch ≥ 2.8.
Where people get burned
The classic setup mistake is putting the node after a sampler already ran, or on a branch that isn't the one actually sampling. It patches the model instance you hand it - wire the output into the KSampler or the Animate/LTX chain. And if you're chasing the last bit of VRAM headroom, the README's PyTorch allocator advice still applies and must be set before launching ComfyUI:
export PYTORCH_ALLOC_CONF="backend:cudaMallocAsync"
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| profile | COMBO | auto | 5 options: auto, 12GB_VRAM_32GB_RAM, low_vram, balanced, max_speed |
| apply_reserved_vram | BOOLEAN | true | — |
| reserved_vram_mode | COMBO | manual | manual: uses reserved_vram_gb | auto_used_plus: sets EXTRA_RESERVED_VRAM = (used_vram + auto_headroom_gb), like ReservedVRAMSetter |
| reserved_vram_gb | FLOAT | 1.250–24 | Reserved VRAM in GB (manual mode). If profile=auto and this is 0, the node chooses a conservative value. |
| sage_attention | COMBO | auto | 8 options: disabled, auto, sageattn_qk_int8_pv_fp16_cuda, sageattn_qk_int8_pv_fp16_triton, sageattn_qk_int8_pv_fp8_cuda, sageattn_qk_int8_pv_fp8_cuda++, +2 |
| allow_sageattention_torch_compile | BOOLEAN | false | — |
| torch_compile_mode | COMBO | off | auto = try torch.compile with a safe mode (reduce-overhead). On Windows this may still be unstable depending on Torch/driver; if you see crashes, set off. |
| fp16_accumulation | COMBO | auto | 3 options: auto, on, off |
| tf32 | COMBO | auto | 3 options: auto, on, off |
| clean_gpu_before | BOOLEAN | false | — |
| console_log | BOOLEAN | true | Print a short summary (applied + warnings) in the server console. |
| include_hardware_report | BOOLEAN | false | If enabled, probes current hardware and embeds an additional recommendations report into report_json (useful for printing/debug). |
| clipopt | CLIP | — | |
| vaeopt | VAE | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |
| vae | VAE | — |
| report_json | STRING | — |