⚡ComfyUI-Lightning
Introduction
This repository integrates all the tricks I know to speed up Flux inference:
- Use
TeaCacheorFBCacheorMBCacheorToCa; - Skip some unnessasery blocks;
- Compile and quantize model;
- Use fast CuDNN attention kernels;
- Use
SageAttentionorSpargeAttn; - Fix
AttributeError: 'SymInt' object has no attribute 'size'to speed up recompilation after resolution changing.
MBCache extends FBCache and is applied to cache multiple blocks. The codes are modified from SageAttention, ComfyUI-TeaCache, comfyui-flux-accelerator and Comfy-WaveSpeed. More details see above given repositories.
Updates
-
[2025/3/10] Add SpargeAttn. For more details, see Usage.
-
[2025/2/27] Add ToCa.
-
[2025/1/24] Now support Sana. Get your 1024*1024 images within 2s. All the codes are modified from Sana.
Usage
For Flux
You can use XXCache, SageAttention, and torch.compile with the following examples:
More specific:
-
Download Flux diffusion model and VAE image decoder from FLUX.1-dev or FLUX.1-schnell. Put the
flux1-dev.safetensorsorflux1-schnell.safetensorsfile intomodels/diffusion_modelsand theae.safetensorsfile intomodels/vae; -
Download Flux text encoder from flux_text_encoders and put all the
.safetensorsfiles intomodels/clip; -
Run the example workflow.
For Sana
-
Download Sana diffusion model from Model Zoo and put the
.pthfile intomodels/diffusion_models; -
Download Gemma text encoder from google/gemma-2-2b-it, unsloth/gemma-2b-it-bnb-4bit or Efficient-Large-Model/gemma-2-2b-it and put the whole folder into
models/text_encoders; -
Download DCAE image decoder from mit-han-lab/dc-ae-f32c32-sana-1.0 and put the
.safetensorsfile intomodels/vae; -
Run the example workflow.
For SpargeAttn
-
First you should follow the steps below to install
SpargeAttn. If you have problems installing it, see the original repository;git clone https://github.com/thu-ml/SpargeAttn.git cd ./SpargeAttn pip install -e . -
If you do not have a hyperparameter file, you should perform a few rounds of quality fine-tuning to get one first. You just need to open the
enable_tuning_modeof the nodeApply SpargeAttnand perform the generation. For example, generate 50 steps of 512*512 images at 10 different prompts (very time-consuming);
- The
skip_DoubleStreamBlocksandskip_SingleStreamBlocksarguments are used to skip certain blocks that do not require the use ofSpargeAttn, mainly to work withTeaCacheandFBCache. - If you have a well-tuned hyperparameter file, feel free to share it.
- The
-
Turn off
enable_tuning_modeand use theSave Finetuned SpargeAttn Hyperparamsnode to save your hyperparameter file;
-
Remove or disable the
Save Finetuned SpargeAttn Hyperparamsnode and place the saved hyperparameter file in themodels/checkpointsfolder. Load this hyperparameter file in theApply SpargeAttnnode;
-
Enjoy yourself.