Accelerated video-diffusion inference
Agent-native workflow Β· Full-stack acceleration techniques Β· A wide range of video generation models
______________________________________________________________________
**Sol-Engine** is an efficiency-oriented inference codebase for high-resolution video
diffusion, built on [SGLang](https://github.com/sgl-project/sglang)'s `multimodal_gen`
runtime. It features an **agent-native inference workflow** and reduces three production
models into **one unambiguous acceleration line**. This is powered by a full-stack
solution composed of **five reusable acceleration techniques**, delivering a **2Γ to 3Γ
end-to-end speedup** across the three models. We are actively continuing development to
support a wider range of models.
## π° News
- **[2026/10/11]** π₯ **StreamRender-H3** \[[Code](models/streamrender_h3/) | [Weights](https://huggingface.co/Efficient-Large-Model/StreamRender-H3) | [Project Page](https://nvlabs.github.io/Sana/Sol-Engine/StreamRender-H3/)\] β code and weights for interactive code-driven worlds with real-time streaming diffusion render, connecting a controllable game engine to a two-step streaming renderer and causal video decoder.
- **[2026/09/28]** π₯ **SoL-Refiner** \[[Code](models/sol-refiner/) | [Weights](https://huggingface.co/collections/Efficient-Large-Model/sol-refiner-6aba664fa5a41296a351abad) | [Project Page](https://nvlabs.github.io/Sana/Sol-Refiner/)\] β code and pretrained weights for one-step high-resolution video refinement across base generators, including a dedicated refiner for MiniMax-H3.
- **[2026/09/27]** π₯ **Sol-H3 on NVIDIA GeForce RTX 5090** \[[Code](models/minimax_h3/Sol-H3-RTX5090/)\] β single-GPU CPU offload for the two-stage pipeline, generating 1344Γ768 video with original H3 audio. One 5-second T2VA request completed in **39.80 s** end-to-end.
- **[2026/09/11]** π₯ **Sol-H3 on NVIDIA DGX Spark** \[[Code](models/minimax_h3/Sol-H3-Spark/) | [Project Page](https://nvlabs.github.io/Sana/Sol-Engine/Sol-H3-Spark/)\] β production two-stage MiniMax-H3 inference for T2V, I2V, and Ref2VA with synchronized audio. On a single NVIDIA DGX Spark at 1344Γ768, T2V end-to-end latency is **56 s** for a 5-second output.
- **[2026/09/08]** π₯ **Sol-H3** \[[Code](models/minimax_h3/Sol-H3/) | [Project Page](https://nvlabs.github.io/Sana/Sol-Engine/Sol-H3/)\] β production MiniMax-H3 inference for T2V, I2V, and Ref2VA with synchronized audio. On 8Γ NVIDIA B300 at 1344Γ768, warm BF16-compute T2V latency is **1.653 / 3.732 / 6.612 s** for 5 / 10 / 15-second outputs; optional fused MXFP8 compute reaches **1.472 s** for the 5-second case.
- **[2026/08/22]** π₯ **MiniMax-H3 Super Acceleration** [[Code](models/minimax_h3/super_acceleration/) | [Blog](https://nvlabs.github.io/Sana/Sol-Engine/H3-Super-Acceleration/)] β combines a 4-step MiniMax-H3 draft with a 3-step LTX-2.5 refinement pass, reaching **22.2Γ** end-to-end speedup for 5-second 768p video and **27.7Γ** for 10-second video on one NVIDIA GB200.
- **[2026/08/17]** π₯ **[MiniMax-H3](https://huggingface.co/MiniMaxAI/MiniMax-H3) on GeForce RTX 4090** \[[Code](models/minimax_h3/)\] β reaches **4.44Γ** end-to-end on RTX 4090. Sol-Attn now includes an optimized SM89 CuTe DSL kernel for RTX 4090.
- **[2026/08/13]** π₯ **[LTX-2.5](https://github.com/Lightricks/LTX-2) across B200, GeForce RTX 5090, and DGX Spark** \[[Code](models/ltx25/) | [Blog](https://nvlabs.github.io/Sana/Sol-Engine/LTX25/)\] β reaches up to **4.68Γ** multi-step pipeline speedup and **1.90Γ** distilled pipeline speedup.
- **[2026/08/09]** π₯ **[MiniMax-H3](https://huggingface.co/MiniMaxAI/MiniMax-H3) on H100 and A100** \[[Code](models/minimax_h3/) | [Blog](https://nvlabs.github.io/Sana/Sol-Engine/H3-DataCenter/)\] β reaches **3.56Γ** end-to-end on 4ΓH100 and **3.55Γ** on 4ΓA100.
- **[2026/08/06]** π₯ **[MiniMax-H3](https://huggingface.co/MiniMaxAI/MiniMax-H3) on GB10 and RTX 5090** \[[Code](models/minimax_h3/) | [Blog](https://nvlabs.github.io/Sana/Sol-Engine/H3-OnDevice/)\] β reaches **3.92Γ** end-to-end on DGX Spark (GB10) and **4.52Γ** on RTX 5090.
- **[2026/08/03]** π₯ **[MiniMax-H3](https://huggingface.co/MiniMaxAI/MiniMax-H3) on GB200** \[[Code](models/minimax_h3/) | [Blog](https://nvlabs.github.io/Sana/Sol-Engine/H3/)\] β reaches **3.95Γ** end-to-end on 8ΓGB200.
- **[2026/07/28]** π₯ **Sol-Attn** \[[Paper](https://arxiv.org/abs/2607.24027) | [Code](techniques/sparse_backends/sol_attn/)\] β sparse video attention lands with released SM89/SM90/SM100/SM120 kernels for [**HunyuanVideo-13B**](models/hunyuan_video/) (**~5.03Γ**) and [**Wan2.1-T2V-14B**](models/wan21_t2v_14b/) (**~3.48Γ**) end-to-end.
- **[2026/07/15]** π₯ **Three new models** β [Wan2.2 TI2V-5B](scripts/wan5b/run_optimized.sh) **~2.89Γ**, [Wan2.2-A14B](scripts/wan14b/run_optimized.sh) **~2.17Γ**, and [LingBot-Video](scripts/lingbot/run_optimized.sh) **~2.60Γ** end-to-end.
- **[2026/07/13]** βοΈ **Agent workflow update** β refreshed the agent-native optimization workflow (a master orchestrator driving per-technique executor sub-agents with automatic quality gates). See the [agent-workflow](site_docs/agent-workflow.md) page.
- **[2026/06]** π **Docs release** β full documentation site live: [3 pipeline designs + 5 acceleration techniques](https://nvlabs.github.io/Sana/Sol-Engine/docs/).
- **[2026/06]** π₯ **SANA-Video** β EasyCache + kernel fusion + torch.compile β **~2.77Γ** end-to-end.
- **[2026/06]** π₯ **LTX-2.3** β KWL fusion + cache + PISA + NVFP4 + token-prune β **~2.38Γ** end-to-end.
- **[2026/06]** π₯ **Cosmos3-Super** β TeaCache + step-selective NVFP4 β **~2.27Γ** end-to-end (4ΓGB200).
## β‘ Models & speedups
| Model | Acceleration line | Speedup |
|---|---|---|
| [[weight](https://huggingface.co/nvidia/Cosmos3-Super) \| [code](models/)] **Cosmos3-Super** | TeaCache + step-selective NVFP4 | **~2.27Γ** |
| [[weight](https://huggingface.co/Lightricks/LTX-2.3) \| [code](models/)] **LTX-2.3** | kernel fusion + cache + PISA + NVFP4 + token-prune | **~2.38Γ** |
| [[weight](https://huggingface.co/Efficient-Large-Model/SANA-Video_2B_480p_diffusers) \| [code](models/sana_video/)] **SANA-Video** | EasyCache + kernel fusion + compile | **~2.77Γ** |
| [[weight](https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B) \| [code](models/wan22_ti2v_5b/)] **Wan2.2 TI2V-5B** | EasyCache + kernel fusion + compile | **~2.89Γ** |
| [[weight](https://huggingface.co/Wan-AI/Wan2.2-T2V-A14B-Diffusers) \| [code](models/wan22_t2v_a14b/)] **Wan2.2-A14B** | kernel fusion + EasyCache + PISA | **~2.17Γ** |
| [[weight](https://huggingface.co/robbyant/lingbot-video-moe-30b-a3b) \| [code](models/lingbot_video/)] **LingBot-Video** | kernel fusion + refiner PISA + EasyCache | **~2.60Γ** |
| [[weight](https://huggingface.co/hunyuanvideo-community/HunyuanVideo) \| [code](models/hunyuan_video/)] **HunyuanVideo-13B** | kernel fusion + TeaCache + [**Sol-Attn**](techniques/sparse_backends/) | **~5.03Γ** |
| [[weight](https://huggingface.co/Wan-AI/Wan2.1-T2V-14B-Diffusers) \| [code](models/wan21_t2v_14b/)] **Wan2.1-T2V-14B** | kernel fusion + EasyCache + [**Sol-Attn**](techniques/sparse_backends/) | **~3.48Γ** |
| [[weight](https://huggingface.co/Lightricks/LTX-2.5) \| [code](models/ltx25/) \| [blog](https://nvlabs.github.io/Sana/Sol-Engine/LTX25/)] **LTX-2.5** | parallel optimization + FBCache + kernel fusion | **~4.68Γ** |
| [[weight](https://huggingface.co/MiniMaxAI/MiniMax-H3) \| [code](models/minimax_h3/) \| [blog](https://nvlabs.github.io/Sana/Sol-Engine/H3/)] **MiniMax-H3** | context parallel + kernel fusion + [**Sol-Attn**](techniques/sparse_backends/) + FirstBlockCache | **~3.95Γ** |
| [[H3 weight](https://huggingface.co/MiniMaxAI/MiniMax-H3) \| [LTX-2.5 weight](https://huggingface.co/Lightricks/LTX-2.5-Pre-Trained) \| [code](models/minimax_h3/super_acceleration/) \| [blog](https://nvlabs.github.io/Sana/Sol-Engine/H3-Super-Acceleration/)] **MiniMax-H3 Super Acceleration** | 4-step H3 draft + 3-step LTX-2.5 refinement + [**Sol-Attn**](techniques/sparse_backends/) + kernel fusion | **22.2Γ** (5 s) / **27.7Γ** (10 s) |
Speedup is warm end-to-end latency versus the unoptimized same-topology baseline, with model, prompt/seed, resolution, step count, batch size, and GPU topology held fixed. SANA 480p (832Γ480, 81f, 50 steps); Cosmos3 1280Γ720, 189f, 35 steps; LTX-2.3 1088Γ1920, 241f. LTX-2.5 uses the 4ΓB200 BF16 multi-step pipeline at 1536Γ1024 for 5 s (30-step Stage 1 + 2-step Stage 2), comparing the official sequence-parallel baseline (39.23 s) with full-opt (8.38 s). Wan-5B 704Γ1280, 121f, 50 steps (1 GPU); Wan-14B 720Γ1280, 81f, 40 steps (1 GPU); LingBot base 480Γ832βrefiner 1088Γ1920, 121f (4 GPU CP4); HunyuanVideo 1280Γ720, 129f, 50 steps (1 GPU); Wan2.1-14B 720Γ1280, 81f, 50 steps (1 GPU). MiniMax-H3 uses 8ΓGB200 at 1344Γ768, 124 frames, 50 steps, and batch 1, comparing the Diffusers baseline (27.205 s) with full-opt (6.883 s).
## π§© The five acceleration methods
Video diffusion inference exposes redundancy at three complementary levels. At
the **algorithm level**, adjacent denoising steps run structurally similar
computations over slowly changing latents, so cache can reuse or skip step
outputs. At the **model level**, long spatiotemporal sequences contain redundant
tokens and attention interactions, motivating sparse attention and token
pruning. At the **kernel level**, DiT blocks repeatedly launch memory-bound work
around GEMMs, layout movement, normalization, activation, and precision
conversion, which quantization and fusion reduce. Sol-Engine composes the five
methods across these levels.
| # | Method | What it does |
|---|---|---|
| 1 | **[Cache](https://nvlabs.github.io/Sana/Sol-Engine/docs/techniques/cache/)** | reuse a denoise step's output (TeaCache / EasyCache / fix-step) |
| 2 | **[Quantization](https://nvlabs.github.io/Sana/Sol-Engine/docs/techniques/quant/)** | TransformerEngine NVFP4 4-bit, step-selective |
| 3 | **[Kernel fusion](https://nvlabs.github.io/Sana/Sol-Engine/docs/techniques/kernel/)** | fuse the memory-bound DiT glue (AdaLN, QK-norm+RoPE, gates, FFN) |
| 4 | **[Sparse attention](https://nvlabs.github.io/Sana/Sol-Engine/docs/techniques/sparse/)** | piecewise block-sparse video self-attention |
| 5 | **[Token pruning](https://nvlabs.github.io/Sana/Sol-Engine/docs/techniques/token_prune/)** | drop low-salience video tokens at mid refine steps |
## π Sol-Attention
[**Sol-Attn**](techniques/sparse_backends/) is our sparse attention
technique for video DiTs: video-token self-attention runs through a sparse
kernel that computes only the most relevant key blocks, while using light weight compensating operation to maintain visual quality. It plugs
into a model runtime through env-gated hooks and powers the optimization stacks of
[**HunyuanVideo-13B**](models/hunyuan_video/),
[**Wan2.1-T2V-14B**](models/wan21_t2v_14b/) and
[**MiniMax-H3**](models/minimax_h3/). The HunyuanVideo and Wan2.1 stacks reach
**~5.03Γ** and **~3.48Γ** end-to-end speedup, respectively.
Backend selection is automatic: RTX 4090 (SM89), H100 (SM90), B200 (SM100),
and RTX 5090 (SM120) use their optimized CuTe DSL kernels when CuTe is
installed. Older supported GPUs such as A100 (SM80), or installations without
CuTe DSL, use the portable Triton implementation. Apple Silicon uses the tiled
Metal backend when `torch.mps.compile_shader` is available. Model call sites do
not need architecture-specific changes. See the
[Sol-Attn usage guide](techniques/sparse_backends/) for requirements and API
details.
## π Quick start (agent-native)
Sol-Engine is installed and launched the **agent-native** way. Rather than hand-running
the setup steps, you hand a coding agent β OpenAI **Codex** or **Claude Code** β a single
goal and let it create the environment, fetch the weights, and run all three models in
both `baseline` and `fullopt` settings, **troubleshooting and adapting the scripts to
your machine** as it goes.
From the repo root, give the agent this goal:
```text
/goal Execute the inference code for the three models using both baseline and full-opt
settings with the following requirements. Refer to AGENTS.md for the environment creation,
model download, and inference guides. For the environment, you need to create a new
environment. For model weights, you are allowed to reuse existing weights if they are
locally available; otherwise, you need to download them. Regarding adaptability, be aware
that the provided guides for environment creation, download scripts, and inference may
contain system incompatibilities, so you are expected to troubleshoot and adapt them to
your specific machine.
```
## π Getting started
- π **[Full documentation](https://nvlabs.github.io/Sana/Sol-Engine/docs/)** β a comprehensive guidebook to the whole project: pipeline designs, acceleration techniques, setup, and model references in one place
- π οΈ **[Installation](https://nvlabs.github.io/Sana/Sol-Engine/docs/installation/)** β conda env, editable install, CUDA-JIT fixups, and the HF model repos + download helpers
- π¬ **Optimized pipelines** β [SANA-Video](https://nvlabs.github.io/Sana/Sol-Engine/docs/pipelines/sana/) Β· [Cosmos3-Super](https://nvlabs.github.io/Sana/Sol-Engine/docs/pipelines/cosmos3/) Β· [LTX-2.3](https://nvlabs.github.io/Sana/Sol-Engine/docs/pipelines/ltx/) Β· [**HunyuanVideo-13B**](site_docs/pipelines/hunyuan.md) Β· [**Wan2.1-T2V-14B**](site_docs/pipelines/wan21_14b.md)
- βοΈ **Acceleration techniques** β [Cache](https://nvlabs.github.io/Sana/Sol-Engine/docs/techniques/cache/) Β· [Quantization](https://nvlabs.github.io/Sana/Sol-Engine/docs/techniques/quant/) Β· [Kernel fusion](https://nvlabs.github.io/Sana/Sol-Engine/docs/techniques/kernel/) Β· [Sparse attention](https://nvlabs.github.io/Sana/Sol-Engine/docs/techniques/sparse/) Β· [Token pruning](https://nvlabs.github.io/Sana/Sol-Engine/docs/techniques/token_prune/)
## β
To-do
- [x] **SANA-Video** acceleration line β EasyCache + fusion + compile
- [x] **Cosmos3-Super** acceleration line β TeaCache + step-selective NVFP4
- [x] **LTX-2.3** acceleration line β KWL fusion + cache + PISA + NVFP4 + token-prune
- [x] **Wan2.2 TI2V-5B, Wan2.2-A14B, and LingBot-Video** acceleration lines β kernel fusion + cache + PISA/compile
- [x] **HunyuanVideo-13B and Wan2.1-T2V-14B** acceleration lines β kernel fusion + cache + Sol-Attn
- [x] **Sol-Attn** sparse-attention release β optimized SM89/SM90/SM100/SM120 kernels + portable Triton backend
- [x] **MiniMax-H3** across GB200, H100, A100, GB10, RTX 4090, and RTX 5090 β context parallel + kernel fusion + Sol-Attn + FirstBlockCache/TeaCache
- [x] **LTX-2.5** across B200, GeForce RTX 5090, and DGX Spark β parallel optimization + FBCache + kernel fusion + Sol-Attn
- [ ] More backends for each acceleration method
- [ ] Agent-native workflow without human-in-the-loop
## π Acknowledgements
Built on [SGLang](https://github.com/sgl-project/sglang) and
[π€ Diffusers](https://github.com/huggingface/diffusers). Pipelines wrap
[SANA-Video](https://github.com/NVlabs/Sana), NVIDIA
[Cosmos](https://github.com/NVIDIA/Cosmos), and
[Lightricks LTX-Video](https://github.com/Lightricks/LTX-Video). Acceleration methods
draw on TeaCache, EasyCache, SVDQuant/Nunchaku, FlashAttention,
[TransformerEngine](https://github.com/NVIDIA/TransformerEngine), and the sparse-attention
/ token-reduction literature surveyed in the [docs](https://nvlabs.github.io/Sana/Sol-Engine/docs/).
For StreamRender-H3, we thank the [MiniMax-H3](https://huggingface.co/MiniMaxAI/MiniMax-H3)
team for the base video model and codecs, the
[Qwen3-VL](https://github.com/QwenLM/Qwen3-VL) team for the text and visual
conditioning model, and [TAE / TAeHV](https://github.com/madebyollin/taehv)
by Ollin Boer Bohan for the lightweight video autoencoder used for reference
encoding. Their respective upstream licenses and attribution notices apply.
## π Citation
```bibtex
@misc{li2026solvideoinferenceengine,
title = {Sol Video Inference Engine: Agent-Native Full-Stack Acceleration Framework for Efficient Video Generation},
author = {Yitong Li and Junsong Chen and Haopeng Li and Haozhe Liu and Jincheng Yu and Ligeng Zhu and Ping Luo and Song Han and Enze Xie},
year = {2026},
eprint = {2606.23743},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
doi = {10.48550/arXiv.2606.23743},
url = {https://arxiv.org/abs/2606.23743},
}
```
## π License
Code in this repository is released under the Apache-2.0 license. The paper is
available on arXiv under the arXiv.org perpetual, non-exclusive distribution
license. Model weights follow their respective upstream licenses (SANA-Video,
NVIDIA Cosmos, Lightricks LTX) β see each model card.