Skip to content

🚀 Benchmark

On this page

These are historical measurements. The original records do not provide complete run dates and commit IDs. Latency and memory figures describe the listed test environments, not current-version performance; software versions identify the test conditions. Speedups are calculated from the displayed times, relative to Wan2.1 Official on H200 and Wan2GP on RTX 4090 at the same resolution.

This document showcases the performance test results of LightX2V across different hardware environments, including detailed comparison data for H200 and RTX 4090 platforms.


🖥️ H200 Environment (~140GB VRAM)

📋 Software Environment Configuration

Component Version
Python 3.11
PyTorch 2.7.1+cu128
SageAttention 2.2.0
vLLM 0.9.2
sgl-kernel 0.1.8

🎬 480P 5s Video Test

Test Configuration:

📊 Performance Comparison Table

Configuration Inference Time(s) GPU Memory(GB) Speedup Video Effect
Wan2.1 Official 366 71 1.0x
FastVideo 292 26 1.25x
LightX2V_1 250 53 1.46x
LightX2V_2 216 50 1.69x
LightX2V_3 191 35 1.92x
LightX2V_3-Distill 14 35 🏆 26.14x
LightX2V_4 107 35 3.42x

🎬 720P 5s Video Test

Test Configuration:

📊 Performance Comparison Table

Configuration Inference Time(s) GPU Memory(GB) Speedup Video Effect
Wan2.1 Official 974 81 1.0x
FastVideo 914 40 1.07x
LightX2V_1 807 65 1.21x
LightX2V_2 751 57 1.30x
LightX2V_3 671 43 1.45x
LightX2V_3-Distill 44 43 🏆 22.14x
LightX2V_4 344 46 2.83x

🖥️ RTX 4090 Environment (~24GB VRAM)

📋 Software Environment Configuration

Component Version
Python 3.9.16
PyTorch 2.5.1+cu124
SageAttention 2.1.0
vLLM 0.6.6
sgl-kernel 0.0.5
q8-kernels 0.0.0

🎬 480P 5s Video Test

Test Configuration:

📊 Performance Comparison Table

Configuration Inference Time(s) GPU Memory(GB) Speedup Video Effect
Wan2GP(profile=3) 779 20 1.0x
LightX2V_5 738 16 1.06x
LightX2V_5-Distill 68 16 11.46x
LightX2V_6 630 12 1.24x
LightX2V_6-Distill 63 12 🏆 12.37x

🎬 720P 5s Video Test

Test Configuration:

📊 Performance Comparison Table

Configuration Inference Time(s) GPU Memory(GB) Speedup Video Effect
Wan2GP(profile=3) -- OOM -- --
LightX2V_5 2473 23 --
LightX2V_5-Distill 183 23 --
LightX2V_6 2169 18 --
LightX2V_6-Distill 171 18 --

📖 LightX2V Configurations

All LightX2V configurations use Wan2.1 I2V, SageAttention2, and 81 output frames. The JSON files in configs/bench specify inference steps, quantization, caching, and offload. Set computation precision through environment variables: use DTYPE=BF16 and set SENSITIVE_LAYER_DTYPE according to the table below.

Benchmark Configuration File Sensitive Layer Precision
LightX2V_1 wan_i2v.json FP32
LightX2V_2 wan_i2v.json BF16
LightX2V_3 wan_i2v_fp8.json BF16
LightX2V_3-Distill wan_i2v_fp8_distill.json BF16
LightX2V_4 wan_i2v_fp8_teacache.json BF16
LightX2V_5 wan_i2v_fp8_offload.json FP32
LightX2V_5-Distill wan_i2v_fp8_offload_distill.json FP32
LightX2V_6 wan_i2v_fp8_offload.json BF16
LightX2V_6-Distill wan_i2v_fp8_offload_distill.json BF16
  • Distill: 4-step DMD2 distillation with CFG disabled.
  • FP8: uses Tiling VAE.
  • Offload: block-level DiT CPU offload and T5 CPU offload.
  • TeaCache: threshold of 0.2.

▶️ Running a Benchmark

Select the configuration file and sensitive layer precision for the benchmark. Set model_path to the base model directory for the chosen resolution. For FP8 configurations, replace dit_quantized_ckpt in the JSON with the DiT quantized weight file or directory compatible with fp8-sgl. Distilled configurations require the corresponding StepDistill-CfgDistill weights.

Resolution Size Arguments Seed
480P --size 480 832 --seed 42
720P --size 720 1280 --seed 1234

This example runs LightX2V_1 / 480P on H200:

lightx2v_path=path/to/LightX2V
model_path=path/to/Wan2.1-I2V-14B-480P-Lightx2v

export CUDA_VISIBLE_DEVICES=0
export DTYPE=BF16
export SENSITIVE_LAYER_DTYPE=FP32
source "${lightx2v_path}/scripts/base/base.sh"

python -m lightx2v.infer \
  --model_cls wan2.1 \
  --task i2v \
  --model_path "${model_path}" \
  --config_json "${lightx2v_path}/configs/bench/wan_i2v.json" \
  --image_path "${lightx2v_path}/assets/inputs/imgs/img_2.jpg" \
  --prompt "A close-up cinematic view of a person cooking in a warm,sunlit kitchen, using a wooden spatula to stir-fry a colorful mix of freshvegetables—carrots, broccoli, and bell peppers—in a black frying pan on amodern induction stove. The scene captures the glistening texture of thevegetables, steam gently rising, and subtle reflections on the stove surface.In the background, soft-focus jars, fruits, and a window with natural daylightcreate a cozy atmosphere. The hand motions are smooth and rhythmic, with a realisticsense of motion blur and lighting." \
  --negative_prompt "镜头晃动,色调艳丽,过曝,静态,细节模糊不清,字幕,风格,作品,画作,画面,静止,整体发灰,最差质量,低质量,JPEG压缩残留,丑陋的,残缺的,多余的手指,画得不好的手部,画得不好的脸部,畸形的,毁容的,形态畸形的肢体,手指融合,静止不动的画面,杂乱的背景,三条腿,背景人很多,倒着走" \
  --size 480 832 \
  --seed 42 \
  --save_result_path "${lightx2v_path}/save_results/lightx2v_1.mp4"

For another benchmark, set --config_json and SENSITIVE_LAYER_DTYPE according to the table, and select the corresponding weights, resolution, seed, and output path. All configurations use --model_cls wan2.1 --task i2v.

🔎 Comparison Implementations

Implementation Description
Wan2.1 Official Original implementation from the Wan2.1 official repository
FastVideo Based on the FastVideo official repository, using the SageAttention2 backend
Wan2GP(profile=3) Based on the Wan2GP repository, using MMGP optimization. Profile 3 targets RTX 3090/4090 systems with at least 32GB RAM and 24GB VRAM, trading higher VRAM usage for lower system memory requirements. Uses quantized models: 480P model and 720P model