SP_FluxFastMergePatchFP8 [Experimental]
A monkey-patch that speeds up FP8 model merging, and knows it's experimental
- optional
- *
Most nodes transform data. This one transforms ComfyUI itself. Run it once and it patches a system-level function to speed up model merging and LoRA application on FP8 models - up to 2x, per the node's own claim - and that patch stays in effect for the rest of your ComfyUI session, not just for the run that triggered it. The node's own multiline description says all of this directly, including the caveats, which is unusually candid for a custom node:
"This patch is only useful for FP8 models. To UNDO the patch, you need to restart ComfyUI. This patch is useless if you are using GGUF-Unet models."
That last line is worth taking seriously if you're running quantized Flux. GGUF - the Q4 through Q8 ladder that put 12B-parameter models like Flux on 12GB cards - uses a completely different code path for applying weights, so this patch has nothing to speed up there; Q8 GGUF is already essentially fp16 at half the size, and that quantization happens through llama.cpp-style dequantization rather than the merge path this node targets. This node is specifically for FP8 (e4m3fn) checkpoints, which is ComfyUI's other common way of shrinking Flux down, and the one that also gets a native speed boost from the --fast launch flag on 40-series cards. This node is a different lever on the same problem: it targets the merge/apply path itself, which matters whenever your graph is merging checkpoints or applying LoRAs on every queue run rather than once.
How it works
Structurally it's a trigger, not a data node. info is a read-only text block echoing the description above - there's nothing to configure. The optional input exists to let you force this node into a specific point in your graph's execution order (feed something through it that another node depends on) if simply having it on the canvas isn't enough to guarantee it runs before you need the patch active. Run the node once, and the effect is global and process-wide until you restart ComfyUI - which is also the only way to undo it.
Inputs and outputs
info(STRING, required, multiline, default = the description text above) - display-only.optional(optional, any type) - a passthrough for forcing execution order.- Output: unnamed,
*type, echoing the optional input through if you used it.
Marked as an output node, so it can run standalone with nothing wired to its output.
Installing it
ComfyUI Manager: search "SP-Nodes", install, restart. Manually:
cd ComfyUI/custom_nodes
git clone https://github.com/bananasss00/ComfyUI-SP-Nodes
then restart ComfyUI.
Common issues & troubleshooting
Nothing seems faster. Confirm you're actually on FP8 weights, not GGUF - the node says outright it does nothing for GGUF-Unet models, and that's the single most likely reason for "I ran it and nothing changed."
Something else that touches model-merging or LoRA-apply behaves strangely afterward. A global monkey-patch to a shared system function is exactly the kind of thing that's fine in isolation and unpredictable once another custom node patches the same code path. If output quality shifts unexpectedly after adding this node to a workflow that previously worked, restarting ComfyUI (which reverts the patch) is a fast way to confirm whether it's the cause before debugging anything else.
You want it off, and there's no toggle. There isn't one by design - the only way back is a full ComfyUI restart. Treat running this node as a session-level decision, not something to sprinkle into a workflow you'll bypass and re-enable casually.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| info | STRING | This node, after running, modifies the ComfyUI system function to speed up model merging/applying LoRA on the GPU. The speed can increase by up to two times. To apply the patch, simply run this node. Important: - This patch is only useful for FP8 models. - To UNDO the patch, you need to restart ComfyUI. - This patch is useless if you are using GGUF-Unet models. | — |
| optionalopt | * | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| * | * | — |