Commit Graph
1 Commits
Author SHA1 Message Date
alexzms 57a2fa9ec1 [perf] LTX-2.3 distilled NVFP4 + FA4-FP4 + CUDA-graphs benchmark on GB300
Make compile + FA4-FP4 attention work and add a parametrized speed harness.

- flash_attn.py: wrap `_nvfp4_quantize_for_fa4` as a torch.library.custom_op
  + register_fake so torch.compile/dynamo treats the flashinfer FP4 Q/K quant
  as an opaque leaf (can't trace its functools.cache lock / JIT subprocess);
  pre-build the FP4 quant module in FlashAttentionImpl.__init__ to warm the
  cache before compile. Required for compile + nvfp4_fa4 to run at all.
- bench_ltx2_3_distilled_t2v.py: parametrized t2v harness (compile / nvfp4 /
  fa4 / cudagraph mode / resolution / frames / steps via env) with per-stage
  timing.
- basic_ltx2_3_distilled_i2v_{uncompiled,compiled}{,_nvfp4}.py: i2v variants.
- INSTRUCTION_ltx23_nvfp4.md: full environment + command-line reproduction.

Result (t2v 832x1280, 8+3, GB300): nvfp4+FA4+cudagraphs = 3.00s e2e, the
fastest config (vs bf16+FA4+cudagraphs 3.81s, nvfp4+FA4 default 6.35s). The
NVFP4 denoise penalty is per-step launch-bound; CUDA graphs removes it.
2026-06-14 11:57:10 -07:00