VeizikNVIDIA and Apple Silicon builds are available now.Release notes →
Engineering · video · memory

Video that doesn’t run out of memory.

On a 24 GB consumer card a 14-billion-active video model usually can’t run at all — and the pipelines that do fit can climb past the card’s limit partway through a render and crash. veizik holds its memory under the card from the first step to the last, so the render you start is the render you get.

rendered on one 24 GB consumer card

720p video that doesn’t run out of memory.

Drawn by Veizik for NVIDIA (development build) · Wan2.2-T2V-A14B · RTX 3090 · Powered by Wan-AI/Alibaba

What we measured

Four modes, one ceiling, no spike.

Change the quality mode and the detail changes; the peak memory barely moves, and never reaches the card’s limit.

22.19 GBpeak, the heaviest of four modes
< 24 GBevery mode, under the card ceiling
1.33 GBspread across all four modes
24 GB card ceiling08162422.19Ultrafast21.66Fast20.86Balanced20.86Quality
veizik peak VRAM, per mode24 GB card ceiling
WAN 2.2-A14B · 1280×720 · 81 frames

Peak GPU memory for the same render in each of the four quality modes, every value from the render shown on this page. Detail changes with the mode; the memory barely does — and it never reaches the card’s limit. One RTX 3090 at 420 W, one development build.

How it stays bounded

Memory set at the start, not discovered at the end.

Four things keep peak memory a property of the render, not of the prompt — described here at a reader’s level.

  • The working set is bounded before the render starts. Memory is sized to the shape of the render — its resolution, frame count and step count — and reused on every step, so it does not grow as the render runs. Peak memory is set at the start, not discovered at the end.
  • Only the active part of the model is resident. This is a mixture-of-experts video model: at any moment only the experts a step needs are on the card, so the model’s full parameter count never has to fit in memory at once.
  • The final decode stage peaks below the rest. Turning the finished latent into frames needs less memory than the transformer that produced it, so the last stage is never the thing that overflows a card that already held the render.
  • Because it is bounded, it is predictable. A pipeline whose memory tracks the content can be fine on one prompt and over the edge on the next. veizik’s peak is a property of the render you asked for, not of the prompt — so a render that starts on your card finishes on your card.
The other way

Same job, another runtime, no room left.

We ran the same model and the same 720p, 81-frame render through another runtime on the same 24 GB card.

24 GB card ceiling22.19 GBveizikcompletesout of memoryanother runtimeundisclosed
veizik — flat, completesanother runtime — fills the card
  • veizik. The same WAN render holds a flat plateau and finishes with memory to spare on the 24 GB card.
  • Another runtime (undisclosed). Given the same model, the same 1280×720 × 81-frame job and the same card, it filled the card to its limit and could not complete the render — it ran out of memory.

Our own run, same resolution, frame count and seed, on the same RTX 3090; the other runtime is left unnamed. It matches what is widely reported for running this class of video model on a 24 GB card — the usual advice is to drop the resolution or move work off the GPU. veizik needs neither.

Reproduce it

Take the number yourself.

The render and the measurement are both one command.

Everything here is reproducible with the shipped engine and one standard tool. Render the clip, then sample GPU memory while it runs — the peak is the largest sample, and it holds under the card from the first step to the last.

render it yourself
# the shipped NVIDIA build renders this model; weights come from their publisher
$ veizik install wan22_t2v_a14b
$ veizik run wan22_t2v_a14b --prompt-file prompt.txt --neg-file neg.txt \
$ --width 1280 --height 720 --frames 81 --steps 40 --seed 42 --mode balanced
measure peak VRAM
# in a second shell, sample GPU memory every 5 seconds for the whole render
$ nvidia-smi --query-gpu=memory.used --format=csv,noheader,nounits -l 5 > vram.csv
# the peak is simply the largest sample; it should sit under your card
# and not climb as the step count rises
$ sort -n vram.csv | tail -1

Same prompt, seed, size and architecture give the same render; the memory method is the one NVIDIA ships with the driver. Our figures were taken on an RTX 3090 at 420 W with a development build — the NVIDIA build is on Releases, so these are a record, not a release speed figure.

The figures

On the record.

Quality modePeak GPU memory
Ultrafast22.19 GB
Fast21.66 GB
Balanced20.86 GB
Quality20.86 GB

WAN 2.2-T2V-A14B · 1280×720 · 81 frames · 40 steps · seed 42 · one RTX 3090 (24 GB) at 420 W · one development build. The render shown above resumed after interruptions — the full record, with the hashes, is on the Resilience page.