Nodes/comfyui-conduit-optimizer/⚡ Conduit Core (Workflow Optimizer)
ComfyUI Node

⚡ Conduit Core (Workflow Optimizer)

The mode selector at the head of the Conduit optimizer

By JosephOIbrahim·Created 8 months ago·Updated 8 months ago· 1
⚡ Conduit Core (Workflow Optimizer)
    • optimization_plan
    mode
    enable_preloadingtrue
    enable_paralleltrue
    workflow_json

    Conduit Core is the decision-maker of the Conduit pack - the node that says "this workflow is a speed run, a quality pass, or a VRAM struggle" and produces the plan everything else is supposed to follow. In practice it's a mode selector with a very nice name. You pick one of four modes, it generates a CONDUIT_PLAN object, and you hand that plan to ConduitApply (and optionally to ConduitPool and ConduitGate) so the rest of the pack knows what mode you're in.

    How it works

    The node's job is DAG analysis: find the critical path through your workflow, spot parallelizable branches, and schedule model preloading. That's the ambition. The current implementation is a bit more modest - analyze_workflow builds a plan dict from your chosen mode, and the analysis methods return fixed, hard-coded schedules rather than actually parsing your graph. The README's workflow_json input is accepted but not yet parsed. So treat Core as a config generator: it encodes the mode into a CONDUIT_PLAN and lets the downstream nodes react to it. The "estimated_speedup" number in the plan is a hard-coded value per mode, not a measurement of your machine.

    The modes are worth knowing because they're opinionated:

    • balanced (default): adaptive precision, smart preload, hybrid caching. Plan claims ~1.8x.
    • speed: aggressive FP8, async preload. Plan claims ~2.5x - real-world speedup depends entirely on your GPU and workflow.
    • quality: full FP32 attention, no early exit. Plan honestly marks this as slower (~0.8x) but higher quality.
    • memory: aggressive offload, streaming decode, tiling. Aimed at cards that are just barely fitting the model.

    Inputs and outputs

    Only two flags beyond the mode: enable_preloading (on by default - schedules model preloading) and enable_parallel (on by default - marks branch nodes as parallelizable). The optional workflow_json is a paste-in slot for a workflow graph that, as of v1.1.0, isn't actually consumed yet. The single output, optimization_plan (type CONDUIT_PLAN), is the wire type the rest of the pack reads.

    Install

    Same story as the whole pack: ComfyUI Manager, search "comfyui-conduit-optimizer", install, restart. Or:

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

    No models to download, no dependencies beyond PyTorch 2.0+. You'll see [CONDUIT] v1.1.0 loaded: 13 optimization nodes on startup.

    Common issues

    The trap is expecting Core to do something by itself. It doesn't optimize anything directly - it emits a plan. If you drop Conduit Core into a workflow and nothing speeds up, that's expected; the plan needs to be consumed by ConduitApply to be "applied," and Apply currently logs rather than transforms. Conduit Core is genuinely useful as the pack's control panel and as the natural place the author will hook real DAG analysis later. If you're on a GPU without FP8 (any 30-series or older, or a card with compute capability below 8.9), the "speed" mode's FP8 promises silently fall back - Core doesn't enforce hardware checks; that's ConduitGate's job.

    CategoryConduit/Optimization

    Inputs (4)

    NameTypeDefaultDescription
    modeCOMBO4 options: balanced, speed, quality, memory
    enable_preloadingBOOLEANtrue
    enable_parallelBOOLEANtrue
    workflow_jsonoptSTRING

    Outputs (1)

    NameTypeDescription
    optimization_planCONDUIT_PLAN