Wan2.1 T2V 1.3B
Measured on: RTX 4090, RTX 5090, A100-SXM4-80GB. Our figures for these GPUs are on the benchmarks page.
Veizik
- Build
- A development build of the WAN engine, named with each figure on the benchmarks page. It is not distributed.
- Command
./veizik run wan21_t2v_1_3b --out DIR- Note
- This is the command of the NVIDIA WAN package, run from its directory; it writes the frames as PNG files to DIR/frames/. Our figures were measured on a development build, so the same bytes cannot be rerun. Set the operating point below with the options the package's command guide lists.
- Operating point
- Prompt “In a still frame, a stop sign” · Resolution 832x480 · Frames 81 · Steps 50 · Guidance 6 · Seed 7
- Mode
- balanced
- Warm-up and runs
- 1 warm-up render, then 2 timed renders; the figure is their median
- What is timed
- Render: the warm render call with the weights already loaded; loading is excluded
- Hardware
- Dedicated single-GPU cloud host; the table below gives the GPU, power limit and driver of each of our runs.
diffusers
- Engine
- diffusers 0.39.0
- Also installed
- PyTorch 2.8.0+cu128, CUDA runtime 12.8, transformers 5.14.1, accelerate 1.15.0
- Model
Wan-AI/Wan2.1-T2V-1.3B-Diffusersat revision0fad780a534b6463e45facd96134c9f345acfa5b- Precision
- bf16
- Pipeline
- WanPipeline, whole model on the GPU, no CPU offload, no VAE slicing
- Scheduler
- the repository default (UniPCMultistepScheduler); its flow shift was left at the repository value
- Settings
- Prompt “In a still frame, a stop sign” · Negative prompt “” · Resolution 832x480 · Frames 81 · Steps 50 · Guidance 6
- Warm-up and runs
- 1 warm-up, then 2 timed
- What is timed
- the warm pipe() call, with torch.cuda.synchronize() before and after; loading is excluded
- Where the recipe comes from
- Written from the recorded pipeline class, dtype and call arguments. In the same-machine runs both engines started from one shared initial latent instead of a seed; the snippet uses seed 7 on both sides.
# the veizik command for Linux x86-64 curl -fsSL https://veizik.com/install.sh | sh # if the installer asks you to put ~/.local/bin on your PATH export PATH="$HOME/.local/bin:$PATH" # install the model engine, then activate this device (browser approval, once) veizik install wan2 veizik activate # then run the measured command ./veizik run wan21_t2v_1_3b --out DIR
python3 -m venv ~/dfenv && ~/dfenv/bin/pip install torch==2.8.0 torchvision==0.23.0 diffusers==0.39.0 transformers==5.14.1 accelerate==1.15.0 safetensors==0.8.0 "numpy>=2" pillow ftfy sentencepiece protobuf huggingface_hub --extra-index-url https://download.pytorch.org/whl/cu128import time, torch from diffusers import WanPipeline pipe = WanPipeline.from_pretrained( "Wan-AI/Wan2.1-T2V-1.3B-Diffusers", revision="0fad780a534b6463e45facd96134c9f345acfa5b", torch_dtype=torch.bfloat16).to("cuda") args = dict(prompt="In a still frame, a stop sign", negative_prompt="", height=480, width=832, num_frames=81, num_inference_steps=50, guidance_scale=6.0) pipe(**args, generator=torch.Generator("cuda").manual_seed(7)) # warm-up, not timed for rep in range(2): torch.cuda.synchronize(); t0 = time.perf_counter() frames = pipe(**args, generator=torch.Generator("cuda").manual_seed(7)).frames[0] torch.cuda.synchronize(); print("render_s", time.perf_counter() - t0)
| GPU | Veizik run | diffusers run | Same host and session |
|---|---|---|---|
| RTX 4090 | NVIDIA GeForce RTX 4090; 450 W limit, mean draw 446.95 W; driver 580.126.20; dedicated single-GPU cloud host; two runs. | 450 W limit · driver 580.126.20 | Yes |
| A100-SXM4-80GB | NVIDIA A100-SXM4-80GB; 400 W limit, mean draw 387.65 W; driver 580.159.04; dedicated single-GPU cloud host; two runs. | 400 W limit · driver 580.159.04 | Yes |
| RTX 5090 | NVIDIA GeForce RTX 5090; 575 W, uncapped; driver 570.195.03; dedicated single-GPU cloud host; two runs. | 575 W limit · driver 580.173.02 | No |
On the RTX 4090 and the A100 both engines ran on the same cloud host in one session, at the same power limit and driver. The RTX 5090 setup was recorded on a different host a month earlier, with a different driver from our run.
Time both the same way
- Render: on both engines, time the render call with the weights already loaded, after one warm-up render that is not counted. Synchronise the GPU before reading the clock.
- Run the two engines on the same machine in one session when you can; a different host or driver changes the result.
What must match
GPU model; driver; power limit; clocks left at default; prompt and negative prompt; resolution; frames; steps; guidance; seed; model revision; warm-up; number of timed runs; nothing else running on the GPU.
Powered by Wan-AI/Alibaba.
