[perf]: faster FastH3 decode and NVFP4 GEMMs in the DGX Spark recipes
On GB10 the light H3 VAE's INT8 ConvRot overlay decodes 832x480x124 in 42 s and gains nothing from tile batching. The dense weights take 24 s with one tile per decoder call, 14 s with 12 tiles per call and 9.8 s compiled, at higher fidelity (77.7 vs 63.4 dB PSNR against an FP32 decode). FASTVIDEO_H3_VAE_INT8_OVERLAY=0 now skips the overlay (default on, so other recipes are unchanged), and the single-Spark recipes use it with FASTVIDEO_H3_VAE_TILE_BATCH=12 and a compiled VAE decoder. FlashInfer's CUTLASS mm_fp4 is 2.7-3x slower than its cuDNN backend for the H3 FFN projections on GB10 with identical outputs, so the recipes select FASTVIDEO_NVFP4_MM_BACKEND=cudnn. FlashInfer autotuning was not adopted: it made repeated calls non-deterministic. One Spark, 832x480x124, seed 1234, warm calls: FastH3 Trim 121-122 s to 68 s (denoise 78 -> 58 s, decode 43 -> 9.5 s); FastH3 V2 139-141 s to 79 s. Repeated calls are bit-identical, which the previous V2 recipe was not. FP4 attention (FASTVIDEO_H3_VSA_FP4=1, built for sm_121a since #1598) is documented for GB10 as opt-in and stays off: it is 24-33% faster in denoise on V2 but changes the output (LPIPS 0.39-0.55 against BF16 attention), and the checkpoints were not trained for it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
d0b91810b2
commit
1c1aa75f33
@@ -4,9 +4,16 @@
|
||||
#
|
||||
# GB10 uses Triton VSA. The release packs attention, FFN and VSA gate weights.
|
||||
# The NVFP4 encoder and lightweight VAE ship in the same repository.
|
||||
# The VAE decodes with its dense weights, 12 tiles per call and a compiled
|
||||
# decoder: on GB10 the INT8 ConvRot overlay is slower and less accurate.
|
||||
# NVFP4 GEMMs use FlashInfer's cuDNN backend, 2-3x faster than CUTLASS on the
|
||||
# H3 FFN shapes on GB10 with identical outputs.
|
||||
# Optional, off by default: FASTVIDEO_H3_VSA_FP4=1 runs VSA on the FP4 attention kernel
|
||||
# (fastvideo-kernel built for 12.1a). It is faster but changes the output for now;
|
||||
# see spark_performance.md.
|
||||
#
|
||||
# FASTVIDEO_MINIMAX_H3_FUSIONS=all FASTVIDEO_NVFP4_MM_BACKEND=cutlass \
|
||||
# FASTVIDEO_H3_VAE_TILE_BATCH=1 \
|
||||
# FASTVIDEO_MINIMAX_H3_FUSIONS=all FASTVIDEO_NVFP4_MM_BACKEND=cudnn \
|
||||
# FASTVIDEO_H3_VAE_TILE_BATCH=12 FASTVIDEO_H3_VAE_INT8_OVERLAY=0 \
|
||||
# FASTVIDEO_VSA_TRITON=1 FASTVIDEO_VSA_SM100A=0 FASTVIDEO_FA4=0 \
|
||||
# FASTVIDEO_ATTENTION_BACKEND=VIDEO_SPARSE_ATTN_H3 FASTVIDEO_STAGE_LOGGING=1 \
|
||||
# fastvideo generate --config examples/inference/basic/basic_fasth3_spark_pruned_nvfp4.yaml
|
||||
@@ -31,7 +38,7 @@ generator:
|
||||
lazy_module_load: false
|
||||
compile:
|
||||
enabled: false
|
||||
vae_enabled: false
|
||||
vae_enabled: true
|
||||
pipeline:
|
||||
workload_type: t2v
|
||||
vae_tiling: true
|
||||
|
||||
@@ -4,9 +4,16 @@
|
||||
#
|
||||
# GB10 uses Triton VSA. The release packs attention, FFN and VSA gate weights.
|
||||
# The NVFP4 encoder and lightweight VAE ship in the same repository.
|
||||
# The VAE decodes with its dense weights, 12 tiles per call and a compiled
|
||||
# decoder: on GB10 the INT8 ConvRot overlay is slower and less accurate.
|
||||
# NVFP4 GEMMs use FlashInfer's cuDNN backend, 2-3x faster than CUTLASS on the
|
||||
# H3 FFN shapes on GB10 with identical outputs.
|
||||
# Optional, off by default: FASTVIDEO_H3_VSA_FP4=1 runs VSA on the FP4 attention kernel
|
||||
# (fastvideo-kernel built for 12.1a). It is faster but changes the output for now;
|
||||
# see spark_performance.md.
|
||||
#
|
||||
# FASTVIDEO_MINIMAX_H3_FUSIONS=all FASTVIDEO_NVFP4_MM_BACKEND=cutlass \
|
||||
# FASTVIDEO_H3_VAE_TILE_BATCH=1 \
|
||||
# FASTVIDEO_MINIMAX_H3_FUSIONS=all FASTVIDEO_NVFP4_MM_BACKEND=cudnn \
|
||||
# FASTVIDEO_H3_VAE_TILE_BATCH=12 FASTVIDEO_H3_VAE_INT8_OVERLAY=0 \
|
||||
# FASTVIDEO_VSA_TRITON=1 FASTVIDEO_VSA_SM100A=0 FASTVIDEO_FA4=0 \
|
||||
# FASTVIDEO_ATTENTION_BACKEND=VIDEO_SPARSE_ATTN_H3 FASTVIDEO_STAGE_LOGGING=1 \
|
||||
# fastvideo generate --config examples/inference/basic/basic_fasth3_spark_v2_nvfp4.yaml
|
||||
@@ -31,7 +38,7 @@ generator:
|
||||
lazy_module_load: false
|
||||
compile:
|
||||
enabled: false
|
||||
vae_enabled: false
|
||||
vae_enabled: true
|
||||
pipeline:
|
||||
workload_type: t2v
|
||||
vae_tiling: true
|
||||
|
||||
Reference in New Issue
Block a user