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.