Nodes/comfyui-conduit-optimizer/🌑️ Conduit Pool (VRAM Manager)
ComfyUI Node

🌑️ Conduit Pool (VRAM Manager)

The VRAM temperature scale that mostly describes itself

By JosephOIbrahimΒ·Created 8 months agoΒ·Updated 8 months agoΒ· 1
🌑️ Conduit Pool (VRAM Manager)
  • conduit_plan
  • memory_pool
β—„hot_capacity_gb20.00β–Ί
β—„warm_capacity_gb32.00β–Ί
β—„enable_predictiontrueβ–Ί
β—„compression_levelβ–Ύβ–Ί

Conduit Pool is the VRAM manager of the Conduit pack, built around a genuinely fun idea: treat your memory as a temperature gradient. HOT is GPU VRAM where active inference happens, WARM is pinned RAM for the next few models, COLD is regular RAM for recently-used stuff, and ARCHIVE is disk. The README frames it as predictive prefetch - keep the model you'll need next warm, dump the one you're done with to disk - which is a real technique that ComfyUI itself already does natively with its own model-management and offloading logic. Pool's contribution is making the tiers explicit and configurable.

How it works

Here's the honest version: manage_pool builds a pool configuration dict and reports current CUDA memory usage. It reads torch.cuda.memory_allocated() and memory_reserved() so the memory_pool output contains live numbers for what your GPU is actually holding. The four-tier machinery - promote_to_hot, demote_to_warm, LRU eviction down the tiers - exists as methods on the class, but the node itself doesn't hook into ComfyUI's model loading. Nothing enforces your hot_capacity_gb yet; the source's own comments say "would track" for several stats. So think of Pool as a config plus telemetry node: it tells you where you'd want your tiers, and reports how much VRAM you're actually burning, but ComfyUI's built-in memory management is still doing the real moving around.

Inputs that matter

The settings are the tier sizes: hot_capacity_gb (default 20, range 1–48) and warm_capacity_gb (default 32, range 4–128). Set hot to something a bit under your card's total VRAM and warm to however much system RAM you're willing to pin. enable_prediction (on by default) tells Pool to read a connected conduit_plan and fold its preload schedule into the pool config. compression_level (none / light / aggressive) is where you'd say how hard to squeeze cold/archive entries - currently a setting, not an active compression path.

Output

One output: memory_pool of type CONDUIT_POOL, carrying the tier limits, compression, prediction flag, current usage, and stats. Wire it into ConduitApply to have it acknowledged.

Install

Identical to every Conduit node - ComfyUI Manager, search "comfyui-conduit-optimizer", install, restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/joe002/comfyui-conduit-optimizer

No downloads, no deps beyond torch>=2.0.

Common issues

Don't expect Pool to magically fit a model you can't fit today. The tiered eviction is aspirational - the node doesn't take over ComfyUI's model offloading, and setting hot_capacity_gb to 1 won't force anything into disk. The genuinely useful part right now is the telemetry: it's a free look at your current CUDA allocation mid-workflow. And keep in mind the whole pack is tiny and young - zero community footprint, no reddit threads to speak of - so treat the README's grander promises as a roadmap, not a spec.

CategoryConduit/Memory

Inputs (5)

NameTypeDefaultDescription
hot_capacity_gbFLOAT20.001–48β€”
warm_capacity_gbFLOAT32.004–128β€”
enable_predictionBOOLEANtrueβ€”
compression_levelCOMBO3 options: none, light, aggressive
conduit_planoptCONDUIT_PLANβ€”

Outputs (1)

NameTypeDescription
memory_poolCONDUIT_POOLβ€”