XPU AIMDO Status
The one checkbox that decides whether your Arc B580 OOMs or crawls
- status
If you run ComfyUI on an Intel Arc B580, this is the node you'll argue with the most. It doesn't generate anything, doesn't touch your prompt, and has exactly one real job: flip ComfyUI's DynamicVRAM feature on or off at runtime. ON and your 12 GB card stops OOMing on big images; OFF and it runs at full speed until it doesn't.
The name needs unpacking, because "AIMDO" isn't a brand. It's the internal module (comfy_aimdo) that powers DynamicVRAM on NVIDIA cards - the thing that lets ComfyUI run models bigger than your VRAM by paging weights in and out. The catch: the original (by Rattus) leans hard on CUDA, so on Intel XPU it's dead weight. ComfyUI-AIMDO-XPU is a reimplementation of that same Python API on torch.xpu, and it ships XPUAIMDOStatus as its control panel. It's a niche fix for a niche-but-real problem: Arc B580 owners do run ComfyUI fine on an XPU PyTorch build, and 12 GB disappears fast once you push SDXL past base resolution.
How it works
This is a control node, not a data node - OUTPUT_NODE in the source, so it runs at the start of every prompt and does its work via side effects. When it fires, it calls set_dynamic_vram() in the pack's comfy_aimdo/control.py, which does the clever part: it swaps the class of every loaded model patcher to ModelPatcherDynamic when you enable, or back to the stock ModelPatcher when you disable. Flipping OFF also runs a cleanup pass that drops the VBAR cache, empties the VRAM cache, and forces models to fully reload next time.
The toggle takes effect immediately - no restart, no "Apply" button. And there's a nice safety property: if you delete the node from your workflow, the pack auto-resets to OFF. Your worst case is "full speed, might OOM," never "forgot the node and mysteriously slow."
The inputs that matter
Only two, and both are booleans you'll set by eye:
Enable_DynamicVRAM- the whole point. OFF (default) = full-load full-speed mode, great until VRAM runs out. ON = DynamicVRAM paging: weights fault in and out as needed, so you can render things that would otherwise die with an OOM. Trade-off is real speed: offloading to system RAM is brutal, the community puts the penalty at roughly an order of magnitude on PCIe. Think of it as "space for speed" vs. "speed for space."debug- turns on verbose proxy diagnostic logging. Leave it off unless the author will want your log.usage- a display-only string the author baked in that restates exactly this. Nothing to set.
It also prints a status report to the console (and returns it as a status STRING output): whether the XPU hijack is actually active, torch.xpu availability, your GPU name and total VRAM, and how much VRAM the AIMDO cache is tracking. That output is diagnostic gold - first thing to check when things misbehave.
Installing it
This is where most people get burned. Cloning is the easy half:
cd ComfyUI/custom_nodes
git clone https://github.com/allanmeng/ComfyUI-AIMDO-XPU
The hard half is that a plain custom-node install is not enough. The pack replaces comfy_aimdo by putting its own comfy_aimdo/ package ahead of site-packages on PYTHONPATH, and that has to happen before main.py runs. The README tells you to add this line to your .bat launcher, above the ComfyUI start command:
set "PYTHONPATH=%~dp0ComfyUI\custom_nodes\ComfyUI-AIMDO-XPU;%PYTHONPATH%"
Skip that and you'll see XPU hijack NOT active in the log while the node still loads - a silent no-op that's easy to miss. It also needs real prerequisites: an Arc B-series card (B580/B570), Intel oneAPI Base Toolkit, and a PyTorch XPU build (pip install torch --index-url https://download.pytorch.org/whl/xpu). The README's recommended launch flags are --lowvram --disable-smart-memory --reserve-vram 0.1. There's also a newer pilot backend that replaces site-packages/comfy_aimdo with a compiled DLL (real Level Zero page faults) - but it's mutually exclusive with the hijack, so pick one and don't mix.
Common issues
- "XPU hijack NOT active" in the log - you skipped the PYTHONPATH step. Fix the
.batand restart. torch.xpu available: NO- your PyTorch isn't the XPU build. Reinstall from the index URL above.- NF4/FP4 quantized models fail - XPU has no CUDA kernels for those. The author's documented workaround: use GGUF (Q4_K through Q6_K, or GGUF-f16/bf16) instead.
- Speed collapses in ON mode - that's the feature, not a bug. ON trades speed for headroom; if you don't need the headroom, leave it OFF.
For a mostly-12GB Arc user, this is the difference between "big image = crash" and "big image = slow but done." Install the pack, verify the hijack banner, and keep the node parked in your workflow with the checkbox where you need it.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| Enable_DynamicVRAM | BOOLEAN | false | — |
| debug | BOOLEAN | false | — |
| usageopt | STRING | ━━━ 使用说明 ━━━ ☐ OFF = 全速模式(默认) ☑ ON = DynamicVRAM 显存管理 无此节点 = 默认 OFF ━━━━━━━━━━━━━━━ | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| status | STRING | — |