vllm-project/vllm-omni

[Roadmap] MiniMax-H3 follow-up: accuracy/performance CI, quantization, and optimizations

Offen

#5.700 geöffnet am 03.08.2026

 (22 Kommentare) (1 Reaktion) (9 zugewiesene Personen)Python (1.067 Forks)github user discovery
CI/CDHardware PluginKernel optimizationNPUROCmdiffusionhelp wantedquantizationxpu

Repository-Metriken

Stars
 (4.990 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

MiniMax-H3 progress <-> Issue/PR mapping (updated 2026-08-06)

Legend: :white_check_mark: merged/done - :hourglass_flowing_sand: open/in-progress PR - :warning: partial/limited - :x: TODO (no issue/PR yet)

1 Feature completeness

1.1 API alignment

Status Ref Note
:white_check_mark: #5751 (issue) + #5752 Align official input matrix: FL2VA keyframes [0]/[-1]/[0,-1]; Ref2VA image-only / multi-image / multi-video / image+audio / mixed references; start_time_seconds; official duration/shape/output-count params
:white_check_mark: #5720 Modular pipeline: FL2VA/Ref2VA share text_encoder/vae; startup task selection via --task-type
:white_check_mark: #5756 ComfyUI r2v frontend support (H3 as example)

1.2 Feature completeness and compatibility

Status Ref Note
:hourglass_flowing_sand: #5700 Support-status matrix + feature completeness tracking (via #5752, fixes #5751)
:white_check_mark: #5709 H3 T2VA accuracy test (SSIM >= 0.82 / PSNR >= 20 dB, nightly 4xH100)
:white_check_mark: #5785 ComfyUI integration hint added to MiniMax-H3 recipe
:hourglass_flowing_sand: #5724 Fix H3 VAE tiling for small canvases
:hourglass_flowing_sand: #5824 Fail H3 encoder load when a weight or fused shard is missing (#5691 review follow-up)
:hourglass_flowing_sand: #5840 TeaCache support + Cache-DiT validation for H3 (FL2VA, validated on 1xH100)
:hourglass_flowing_sand: - Diffusion Continuous batching for H3 (in progress, see 4.1)
:warning: - Ring/CFG packed boundaries not validated (section 1)

1.3 Quantization (online FP8)

Status Ref Note
:white_check_mark: #5737 H3 DiT online FP8 (resident-only; incompatible with layerwise offload); #5708 superseded
:white_check_mark: #5706 RainFusion attention + INT8 online quantization (Ascend NPU)
:white_check_mark: #5829 Fix MiniMax-H3 FP8 accuracy test CI (fixes #5826)
:hourglass_flowing_sand: #5848 ModelOpt mixed FP8 support for MiniMax-H3
:x: - Text-encoder FP8 / NVFP4 (TODO, section 4)

1.4 Encoder layerwise offload

Status Ref Note
:white_check_mark: #5764 DLO 2xRTX path stages text-encoder and VAE decoder blocks (consumer-GPU specific)
:warning: - Single-GPU layerwise: H3 Qwen3-VL encoder is whole-model load/offload only (_encode_text_hidden), not blockwise
:x: - Generic single-GPU encoder blockwise layerwise offload (TODO; layerwise offload marked "Not validated" in section 1)

1.5 Hardware support and recipes (GPU/ROCm/NPU/XPU)

Status HW Ref Note
:white_check_mark: GPU CUDA #5691 Base support + recipes/MiniMaxAI/MiniMax-H3.md
:white_check_mark: RTX 4090/5090 #5764 2-GPU DLO recipe (rtx5090/rtx4090 profiles)
:hourglass_flowing_sand: RTX 4090 #5850 Dedicated RTX 4090 (2x) setup recipe, tested
:hourglass_flowing_sand: RTX PRO 5000 #5857 4x 72 GiB recipe: resident BF16 TP2 x Ulysses2, no offload
:hourglass_flowing_sand: ROCm #5697 (issue) / #5723 gfx942/gfx950 recipe
:white_check_mark: NPU Ascend #5699 + #5837 Soundfile fallback + NPU fork_rng device_type fix; example #5765 open; MiniMax-H3-NPU.md
:warning: NPU Ascend #5859 (issue) Segfault during weight loading on Ascend A2 (910B3 x8)
:white_check_mark: MUSA #5703 Conditioned VAE RNG made device-aware
:warning: XPU #5780 CI collection fix merged; H3 XPU recipe still TODO (section 6)
:x: L20 / GB10 - Not validated (section 1 matrix)

2 Usability

2.1 Serve task selection via CLI arg (--task fl2va | ref2va)

Status Ref Note
:white_check_mark: #5720 Serve startup selects FL2VA/Ref2VA weight partition and shares text_encoder/vae. Implemented flag is `--task-type fl2va
:warning: - Default initializes both FL2VA and Ref2VA DiTs; specifying the task loads only the needed partition

2.2 Per-request cache-dit speed/quality tradeoff

Status Ref Note
:hourglass_flowing_sand: #5853 Request-level quality grading via dynamic loading/unloading with Cache-DiT
:x: - Per-request cache-dit knob (e.g., force_refresh) not exposed for H3 (TODO)

3 Performance

3.1 Faster BF16 attention (TRTLLM_ATTN etc.)

Status Ref Note
:white_check_mark: #5779 (merged; fixes #5771) Packed-sequence support in TRTLLM_ATTN; made TRTLLM the H3 default
:hourglass_flowing_sand: #5852 Multi-GPU (2/4/8) benchmark + SM120 attention path
:warning: - FLASH_ATTN fallback retained; RTX consumer path uses CUDNN_ATTN (#5764)

3.2 Sparse attention

Status Ref Note
:white_check_mark: #5706 RainFusion block-sparse attention (Ascend NPU; video segment only)
:hourglass_flowing_sand: #5851 Sol-Attn sparse attention backend for MiniMax H3 (training-free)

3.3 Operator fusion

Status Ref Note
:white_check_mark: #5801 Fused RMSNorm and RoPE opt (Omni diffusion layers)
:hourglass_flowing_sand: #5773 Fused H3 QK RMSNorm + packed 3D RoPE (shared fused_qk_norm_rope op); #5772 superseded
:hourglass_flowing_sand: #5832 Fuse RMSNorm with indexed AdaLN modulation (norm1 / norm2 / final norm)
:hourglass_flowing_sand: #5818 Fused SwiGLU activation
:hourglass_flowing_sand: #5750 Fuse MLP SiLU/multiply, indexed AdaLN residuals, q/k norm + partial RoPE (4-GPU path)
:x: - Fused gated residual etc. (TODO, section 5.2)

3.4 Remove redundant computation

Status Ref Note
:hourglass_flowing_sand: #5768 Gate scheduler finite-tensor validation behind env flag + fewer GPU syncs
:hourglass_flowing_sand: #5819 Precompute static conditioning
:hourglass_flowing_sand: #5817 Reuse packed attention masks across layers
:hourglass_flowing_sand: #5820 Use direct embedding scatters
:hourglass_flowing_sand: #5783 Precompute AdaLN modulation schedules (~13B-param projections once per schedule; optional weight release)
:hourglass_flowing_sand: #5750 Reuse DiT invariants / RoPE tables / timestep frequencies / VAE latents / reference-video preparation
:x: - More torch.compile graph coverage and allocation/copy reduction (TODO, section 5.3)

3.5 Ref cache

Status Ref Note
:x: - No H3-specific reference KV / attention-level cache (TODO)
:warning: #5750 Only reference-video preparation / decoded-frame reuse (preprocessing cache, not KV-level)

3.6 Cross-step cache

Status Ref Note
:hourglass_flowing_sand: #5840 TeaCache support + Cache-DiT validation for H3 (FL2VA, 1xH100)
:warning: #1786 Layerwise offload + cache-dit compatibility fix (relevant if combined for H3)

3.7 USP communication optimization

Status Ref Note
:hourglass_flowing_sand: #5750 Pack Ulysses QKV collective, reduce final SP gather payload, inline FA4 Ulysses attention path

3.8 High-throughput mode (DLO)

Status Ref Note
:white_check_mark: #5764 H3 2xRTX DLO (--dlo-no-use-allgather TP-local streaming)
:x: - H3 DLO + DP multi-concurrency throughput validation (TODO, section 5.3)

3.9 Text-encoder separation

Status Ref Note
:warning: #5691 + #5750 H3 supports --text-encoder-tp-size (4-way TP recipe), independent encoder TP group
:x: - True separation (separate process/engine, disaggregation) for H3 (TODO; section 5.1 "Fix partial text-encoder TP groups and align with #5394" open)

4 Production

4.1 Diffusion Continuous batching

Status Ref Note
:hourglass_flowing_sand: #5810 [Feature][MiniMax-H3] Support diffusion continuous batching (implements the step-execution contract: prepare_encode / denoise_step / step_scheduler / post_decode)

4.2 Request interruption / abort

Status Ref Note
:x: - No H3-specific interrupt/abort work; relies on the generic diffusion abort path (needs validation)

5 CI

5.1 Accuracy CI - H100 / B200

Status Ref Note
:warning: Section 2 Roadmap TODO: "Add H100 and B200 accuracy CI with per-hardware tolerances and failure artifacts"
:white_check_mark: partial #5709 H3 T2VA accuracy test merged into nightly (4xH100, USP4, text-encoder TP4, VAE PP4)
:white_check_mark: #5829 Fix MiniMax-H3 FP8 accuracy test CI (fixes #5826)
:warning: #5736 / #5740 Nightly accuracy CI once failed on reference URL 404; URL fixed (#5740 merged)
:x: - B200 accuracy CI gate not landed (TODO)

5.2 Performance CI - H100 / B200

Status Ref Note
:warning: Section 3 Roadmap TODO: "Add H100 and B200 performance CI with fixed workloads, one excluded warmup, repeatable results"
:hourglass_flowing_sand: #5836 Add MiniMax-H3 4xH100 diffusion perf config to the existing perf harness
:x: - B200 performance CI not landed (TODO); ad-hoc evidence: #5750 (B300), #5768 (H20), #5709 (H100)

Data source: GitHub Search API (title/body level) + this roadmap snapshot, 2026-08-06.

Contributor Guide