
要点
- FLUX 3 Image Klein (Black Forest Labs): Qwen3-VL-4B-Instruct text, DiT latents, autoencoder; Base (50 steps, CFG 3.5) and distilled (16 steps, no CFG).
- On one B200 at 2048x2048 with NVFP4, denoising is ~96.8% of Base T2I time (14.24 s of 14.70 s).
- Cache-DiT (threshold 0.24): Base T2I ~1.94x at 2048x2048, LPIPS 0.033; VC-Attention FP8 ~1.18x with LPIPS 0.086.
- Combined single-B200 stack: T2I 22.36->6.46 s (3.46x), I2I 54.64->12.28 s (4.45x) vs uncompiled BF16.
- 8xB200: Base median T2I 14.90->3.00 s; denoising 6.01x but distilled e2e limited by non-denoising share.
NVIDIA’s developer blog walks FLUX 3 Image Klein through TensorRT LLM VisualGen on Blackwell GPUs. The soft pitch is faster image generation. The measured story is sharper. At 2048×2048, the DiT denoising loop owns almost all of Base latency, so every serious speedup is a negotiated trade of perceptual difference (LPIPS) against wall-clock. Kernel fusions help. They do not erase the fidelity budget.
[1]What shipped
FLUX 3 Image Klein, from Black Forest Labs and trained on GB200 NVL72, combines Qwen3-VL-4B-Instruct for text conditioning, a diffusion transformer for latents, and an autoencoder for decode/encode. VisualGen supports BF16, FP8 and NVFP4, plus YAML knobs for attention, Cache-DiT, CFG/Ulysses parallelism and CUDA Graphs.
Pipeline timing on one B200 with NVFP4, VANILLA attention and torch.compile shows denoising as 96.8% of Base T2I and 97.8% of Base I2I. Distilled Klein still spends 84-89% in denoising. That is why the rest of the post attacks DiT cost.
NVFP4 weights with FlashInfer PrimsTS GEMMs (SwiGLU and QKV+RoPE fusions) beat BF16 by up to 1.62× T2I / 1.58× I2I, and beat autotuned TensorRT LLM NVFP4 GEMMs by about 1.02-1.10× on T2I.
Quantized attention: cuDNN FP8 ~1.08-1.09× with LPIPS 0.072 / 0.161 (Base / distilled). VC-Attention FP8 with repair budget ρ=0.005 reached ~1.18× / 1.16× with LPIPS 0.086 / 0.151. NVIDIA recommends VC-Attention for 2048×2048 on B200. Sol-Attention sparse (τ=1.0) gave 1.24× with 16 initial dense steps or 1.30× with 12; higher τ hurt quality without much more speed.
Cache-DiT reuses transformer residuals across steps when residual difference stays under a threshold (0.24 in the report). Base T2I nearly halved at 1024 and 2048 (1.97× / 1.94×, LPIPS 0.038 / 0.033). Distilled gains were smaller (1.26× / 1.20×).
Multi-GPU: Base splits CFG branches (cfg_size: 2) and Ulysses-partitions sequences (ulysses_size: 4); distilled uses Ulysses alone. On eight B200s at 2048×2048, Base median T2I fell from 14.90 s to 3.00 s; distilled from 2.73 s to 1.08 s. Denoising sped up 6.01× / 4.44×, but about half of eight-GPU distilled time stayed outside denoising. At 1024×1024, CUDA Graphs further cut eight-GPU compiled latency ~2.2×.
Stacked on one B200 against uncompiled BF16 VANILLA, compilation + NVFP4/PrimsTS + Sol-Attention + Cache-DiT reached 3.46× T2I and 4.45× I2I for Base; distilled up to 2.34×. RTX PRO 6000 Blackwell Server Edition saw 1.73-3.25× with a related stack. Cumulative LPIPS in the shown T2I stage ladder rose to about 0.095 by the Cache-DiT stage.
[1]Evidence on the table
All latency and LPIPS figures are NVIDIA’s reported averages (often 10 requests after 2 warmups, seed 0) on B200 / DGX B200 / RTX PRO 6000. The post publishes YAML configs and container tags so others can reproduce the stack. It does not claim third-party lab replication, and LPIPS is a perceptual proxy, not a human preference study.
[1]Steelman and gaps
Steelman. Production image tools live under latency SLAs. Publishing each optimization with LPIPS next to the speedup is more honest than speed-only charts. Separating denoising share from end-to-end time also explains why eight-GPU distilled gains flatten.
Gaps: vendor bench on NVIDIA hardware and software. LPIPS thresholds that pass a blog figure may fail brand or print workflows. Sol-Attention’s dense-step cutoff is schedule-specific. Prompt upsampling is excluded from reported latency. Multi-image editing and non-2048 shapes need their own budgets.
[1]Who should care, and what to watch
App teams shipping FLUX 3 should pick a LPIPS (or human) ceiling first, then enable NVFP4, attention mode and Cache-DiT in that order. Infra teams should watch non-denoising share before buying eight-GPU speedups for distilled Klein. Model vendors should expect deploy blogs to treat quality deltas as first-class metrics.
Watch over six months: whether VisualGen defaults pin VC-Attention or Sol-Attention; whether BFL publishes matching quality cards; whether competing runtimes quote the same LPIPS protocol.
[1]Close
The durable sentence is not “Blackwell makes FLUX 3 fast.” It is that high-res DiT serving has become a fidelity-budget negotiation: every major VisualGen lever publishes both a speedup and an LPIPS bill. Six months on, either product dashboards treat that bill as a release gate, or “3.5× faster” demos keep drifting away from the images users actually accept.
[1]