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.