Inference Performance

September 11, 2026 · View on GitHub

This report provides practical runtime and GPU-memory references for running 4DAnyone on common GPUs.

Turbo vs. Base

Generation Quality

The 4-step Turbo model achieves quality comparable to a 50-step Base reference:

ModelDenoising stepsPSNR ↑SSIM ↑LPIPS ↓
4DAnyone-Turbo425.480.8950.072
4DAnyone-Base5025.690.8990.073

Denoising Speedup

For the 6-view example, Turbo uses 4 denoising steps and Base uses 24. The values show Turbo's speedup over Base on the same GPU and attention backend.

GPUSDPAFlashAttention-3SageAttention
H2005.49×5.35×5.12×
H20-3E5.83×5.78×5.73×
RTX 5090 D v25.77×5.70×
RTX 40905.85×5.78×
RTX 30905.85×5.80×
RTX 5880 Ada5.79×5.80×
RTX A60005.77×5.75×

4DAnyone-Turbo Performance

The performance tables below use the following terms:

  • SDPA, FlashAttention-3, and SageAttention: denoising time for each attention backend.
  • Peak CUDA allocated: maximum live tensor memory during generation.
  • GPU memory: total memory capacity per GPU.
  • : backend or workload unavailable on that GPU.

Note

SageAttention results use the official sageattn entry point, which automatically dispatches an architecture-specific kernel for each GPU.

6-View Full Orbit

The 6-view full-orbit benchmark uses the following command:

python inference.py \
    --video_path "data/source/pexels/2785536-uhd_2160_3840_25fps.mp4" \
    --views_per_layer 6
GPUSDPA (min)FlashAttention-3 (min)SageAttention (min)Peak CUDA allocated (GB)GPU memory (GB)
H2000.970.760.8024.06139.81
H20-3E3.212.542.0924.06139.81
RTX 5090 D v22.061.6122.1123.40
RTX 40902.712.1322.1823.52
RTX 30905.484.5821.5523.56
RTX 5880 Ada3.472.9924.0647.37
RTX A60003.783.6924.0647.53

24-View Full Orbit

The 24-view full-orbit benchmark runs 4DAnyone-Turbo on a single GPU:

python inference.py \
    --video_path "data/source/pexels/2785536-uhd_2160_3840_25fps.mp4" \
    --views_per_layer 24

For 24-view generation, the pipeline first denoises six RCP views to use as references and then denoises the 24 target views. The table reports the total time for both stages.

GPUSDPA (min)FlashAttention-3 (min)SageAttention (min)Peak CUDA allocated (GB)GPU memory (GB)
H2005.113.903.9024.06139.81
H20-3E17.6613.8611.2424.06139.81
RTX 5090 D v211.2221.9423.40
RTX 409016.2022.1823.52
RTX 309031.9821.9423.56
RTX 5880 Ada18.8416.1424.0647.37
RTX A600020.5519.9824.0647.53

4DAnyone-Base Performance

The 6-view 4DAnyone-Base benchmark uses 24 denoising steps:

python inference.py \
    --video_path "data/source/pexels/2785536-uhd_2160_3840_25fps.mp4" \
    --views_per_layer 6 \
    --enable_turbo=False
GPUSDPA (min)FlashAttention-3 (min)SageAttention (min)Peak CUDA allocated (GB)GPU memory (GB)
H2005.334.054.0924.06139.81
H20-3E18.6814.7011.9824.06139.81
RTX 5090 D v211.879.1722.1123.40
RTX 409015.8612.2922.1823.52
RTX 309032.0326.5221.5523.56
RTX 5880 Ada20.1017.3624.0647.37
RTX A600021.8221.2024.0647.53

Preprocessing Performance

GVHMR and skeleton extraction run before denoising and are shared by both models. These 6-view timings can vary with CPU and storage performance.

  • GVHMR: tracking, ViTPose, image-feature extraction, and motion prediction.
  • Skeleton extraction: target-view skeleton-condition rendering.
GPUGVHMR (min)Skeleton extraction (min)
H2001.201.25
H20-3E1.081.27
RTX 5090 D v20.720.82
RTX 40900.720.73
RTX 30901.661.72
RTX 5880 Ada0.981.00
RTX A60001.572.12