LTX 2.3 video — measurement details
Back to comparison tables. Scenario links in those tables open the sections below; no local report download is required to read the results.
Labels and units: read the labels and memory glossary before comparing runtime names, phase timings, tracked totals or memory peaks.
Workload and measurement scope
Distilled BF16, 1280×704, 5 seconds at 24 fps (121 frames), 8 steps, seed 43; real guitar image/prompt, no input audio, generated stereo audio. Shared official leaf encoder/auxiliaries and resident temporal GPU VAE decode.
Checkpoint: OzzyGT/LTX-2.3-Distilled-1.1, BF16 snapshot
f070fb11c2af41e90ad9012d1f495b5131753a4d. Official Diffusers 0.41.0
in the primary platform comparisons. Feed-forward and normalization chunks
1024, phase modulation, compact timesteps, inplace residuals and RoPE reuse
are retained. No input audio, LoRAs, compilation or experimental kernels.
Output includes generated stereo audio. The separately labeled conditioned
WSL run and FP8/VAE pairs must not be substituted into this workload.
Text encoder, connectors, conditioning preparation, transformer load/prepare,
attachment and denoise are separately monitored steps. The text-encoder
phase contains its staged loading/encoding/cleanup, not only the model forward.
The denoise row is steps[name=denoise]; it is not a sum of completed
per-step GPU kernels.
Video VAE, audio VAE and vocoder are separate decode stages where the report
provides them. Older FP8 precision-pair reports expose decode_and_save
only: that aggregate includes more than video VAE execution. Temporal GPU
streaming uses CPU latent storage/stitching; it is not spatial VAE tiling.
All displayed phase rows are existing observations, not new runs or inferred
phase estimates. Memory comes from each recorded phase's
peak_vram_absolute_gb and peak_ram_gb with ram_metric=rss.
Times use elapsed_sec; global peaks and tracked totals come from the same
report as that row. Values are rounded to two decimals for display only.
Missing fields remain unavailable. Phase tables show selected boundaries, not
an additive decomposition; do not add aggregates to their child events or sum
memory peaks. Host callbacks do not establish completed warm GPU timing.
See metric definitions.
Platform conditions
Windows comparisons recorded successful standby purge before the transformer; phase-local purge can also be included in tracked totals. Linux and WSL do not execute the Windows purge. WSL auxiliary leaf hooks are non-streamed and native registration is bounded; those routes are not equivalent to Windows/Linux streamed controls. Do not treat different platform observations as causal A/Bs.
Linux protected NVMe observations dated 2026-10-13 use driver 595.99.02 and a fresh post-reboot/cache session, unlike the earlier route trios. This prevents attributing their timing difference solely to the allocator. Primary cases are single observations, not repeated statistical estimates or low-RAM certification. The compared completed outputs matched within the recorded route sets; this is not a universal quality or cross-platform byte-identity claim.
BF16 scenarios
Windows / Official leaf
The diffusers_leaf_offload_compat control executes official Diffusers leaf hooks, not DDO dynamic denoising.
Windows / one_shot_fast
--ddo-backend linear --ddo-preset one_shot_fast executes linear_runtime.
Windows / low_ram_safe
--ddo-backend linear --ddo-preset low_ram_safe executes linear_runtime.
Windows / vmm_fast
--ddo-backend vmm --ddo-preset auto resolves to vmm_fast, executing vmm_fast_runtime.
Fixed transformer capacity: 1.5 GiB active weights; 1536 MiB total staging. Retained source / registration ceilings: 24.625 / 24.625 GiB.
Native allocation is process-wide: encoder/VAE driver baselines can differ
even when their component offload policies are unchanged.
Windows / nvme_baseline
--ddo-backend vmm --ddo-preset nvme_baseline executes protected vmm_runtime.
Fixed transformer capacity: 1.5 GiB active weights; two 768 MiB staging slots. Retained source / registration ceilings: 0 / 0 GiB.
Normal PyTorch allocation plus native weight arena, not the process-wide native
Torch allocator. Zero persistent source cache is not zero OS file-cache usage.
Linux / Official leaf
The diffusers_leaf_offload_compat control executes official Diffusers leaf hooks, not DDO dynamic denoising.
Linux / one_shot_fast + host-cache release
--ddo-backend linear --ddo-preset one_shot_fast executes linear_runtime.
This case explicitly releases idle PyTorch host cache before VAE loading. That cleanup choice is part of the measured route, not an automatic new default.
Linux / vmm_fast
--ddo-backend vmm --ddo-preset auto resolves to vmm_fast, executing vmm_fast_runtime.
Fixed transformer capacity: 1.5 GiB active weights; 1536 MiB total staging. Retained source / registration ceilings: 24.625 / 24.625 GiB.
Native allocation is process-wide: encoder/VAE driver baselines can differ
even when their component offload policies are unchanged.
Linux / nvme_baseline
--ddo-backend vmm --ddo-preset nvme_baseline executes protected vmm_runtime.
Fixed transformer capacity: 1.5 GiB active weights; two 768 MiB staging slots. Retained source / registration ceilings: 0 / 0 GiB.
Normal PyTorch allocation plus native weight arena, not the process-wide native
Torch allocator. Zero persistent source cache is not zero OS file-cache usage.
WSL / Official leaf (no stream)
The diffusers_leaf_offload_compat control executes official Diffusers leaf hooks, not DDO dynamic denoising.
WSL / wsl_compat (3 GiB override)
--ddo-backend linear --ddo-preset wsl_compat executes linear_runtime.
The resident-module budget is explicitly 3 GiB, CPU pinning is disabled and automatic budgeting is off. This validates the override, not preset-default capacity; a configured ceiling is not measured residency.
WSL / vmm_fast (bounded)
--ddo-backend vmm --ddo-preset auto resolves to vmm_fast, executing vmm_fast_runtime.
Fixed transformer capacity: 1.5 GiB active weights; 384 MiB total staging. Retained source / registration ceilings: 24.625 / 0.5 GiB.
Native allocation is process-wide: encoder/VAE driver baselines can differ
even when their component offload policies are unchanged.
VAE strategies — separate native-encoder workload
Five seconds, 1280×704, 24 fps, 8 steps, seed 43. Native text encoder; temporal GPU streaming in both decoder routes.
Windows / vmm_fast / resident VAE
Both encoder and transformer use native VMM. Only the independently selected VAE route changes within each platform pair; outputs match within each pair. These runs predate the primary shared-leaf-encoder cases and are a separate VAE workload, not replacement transformer speed measurements.
Windows / vmm_fast / leaf VAE
Both encoder and transformer use native VMM. Only the independently selected VAE route changes within each platform pair; outputs match within each pair. These runs predate the primary shared-leaf-encoder cases and are a separate VAE workload, not replacement transformer speed measurements.
Linux / vmm_fast / resident VAE
Both encoder and transformer use native VMM. Only the independently selected VAE route changes within each platform pair; outputs match within each pair. These runs predate the primary shared-leaf-encoder cases and are a separate VAE workload, not replacement transformer speed measurements.
Linux / vmm_fast / leaf VAE
Both encoder and transformer use native VMM. Only the independently selected VAE route changes within each platform pair; outputs match within each pair. These runs predate the primary shared-leaf-encoder cases and are a separate VAE workload, not replacement transformer speed measurements.
Saved FP8 weight-only — separate precision pairs
Five-second video; auxiliary components remain unchanged within each platform pair. Lower transformer storage does not imply faster denoising or lower peak GPU usage.
Windows / vmm_fast / BF16 control
Only transformer precision changes within the platform pair; auxiliary weights, input and decoder route remain fixed. Saved TorchAO FP8 weight-only retains logical BF16 math and backend dequantization, not native FP8 GEMM. This separate Windows precision pair uses the earlier native-encoder route; it is not the primary shared-encoder BF16 row. Decode/save is an aggregate. FP8 does not match BF16 output byte-for-byte; perceptual quality was not scored. These pairs do not establish a matched same-FP8 official-offload speed comparison.
Windows / vmm_fast / saved FP8
Only transformer precision changes within the platform pair; auxiliary weights, input and decoder route remain fixed. Saved TorchAO FP8 weight-only retains logical BF16 math and backend dequantization, not native FP8 GEMM. This separate Windows precision pair uses the earlier native-encoder route; it is not the primary shared-encoder BF16 row. Decode/save is an aggregate. FP8 does not match BF16 output byte-for-byte; perceptual quality was not scored. These pairs do not establish a matched same-FP8 official-offload speed comparison.
Linux / vmm_fast / BF16 control
Only transformer precision changes within the platform pair; auxiliary
weights, input and decoder route remain fixed. Saved TorchAO FP8 weight-only
retains logical BF16 math and backend dequantization, not native FP8 GEMM.
TorchAO 0.18.0, per-row E4M3 payload, native active/staging limits 1.5/1.5 GiB
and source/registration ceilings 24.625 GiB each. No FP8 Linear compilation,
conversion reuse or extra cache trimming.
FP8 does not match BF16 output byte-for-byte; perceptual quality was not scored.
These pairs do not establish a matched same-FP8 official-offload speed comparison.
Linux / vmm_fast / saved FP8
Only transformer precision changes within the platform pair; auxiliary
weights, input and decoder route remain fixed. Saved TorchAO FP8 weight-only
retains logical BF16 math and backend dequantization, not native FP8 GEMM.
TorchAO 0.18.0, per-row E4M3 payload, native active/staging limits 1.5/1.5 GiB
and source/registration ceilings 24.625 GiB each. No FP8 Linear compilation,
conversion reuse or extra cache trimming.
FP8 does not match BF16 output byte-for-byte; perceptual quality was not scored.
These pairs do not establish a matched same-FP8 official-offload speed comparison.
WSL video with conditioning audio
Separate five-second workload with guitar image and input audio; not matched to the no-input-audio WSL comparison above.
WSL / vmm_fast / image + audio
Guitar image plus conditioning audio, five seconds, native encoder and
transformer; 121 frames, stereo 48 kHz output. Native active ceilings are
4 GiB for the encoder and 1.5 GiB for the transformer, with 384 MiB staging,
24.625 GiB source storage and 512 MiB registration. This input/encoder
scope differs from the primary WSL no-input-audio trio.
Residual CPU source detachment
Selected Windows validation on 2026-10-28 used distilled BF16 LTX 2.3, a
1920x1056 image with conditioning audio, 10.33 seconds at 24 fps, seed 2925624786
and the first two scheduler steps of an eight-step schedule. Both complete
transformer forwards contained 48 blocks; no third step or decode executed.
This is separate from the 1280x704 overview benchmark. The transformer executed
vmm_fast_runtime with an experimental execution-backing pressure DLL; this does
not promote that artifact or change an installed preset. VAE execution was absent.
The old weight-loading route and 1.5 GiB weight/staging budgets, 24.625 GiB
source/registration ceilings and 4 MiB allocator cache were retained. The single
loading intervention explicitly called the existing guarded
detach_auxiliary_cpu_sources(enabled=True, max_copy_bytes=16 * 1024**2) after
attachment and before the first forward. The model was exclusively owned and
in evaluation mode. Native readiness, CPU source ownership, alias/layout and
source provenance guards remained active. There was no compression or activation
eviction. The runner's existing option is
--detach-transformer-auxiliary-cpu-sources; this result does not enable it by
default or authorize arbitrary experimental runner controls.
The operation copied 7.88 MiB across 192 residual CPU groups and released their large checkpoint mapping owners. Within that operation, process private commit fell by 35.41 GiB. Full video/audio latents after scheduler step index one were finite and bitwise identical to the preserved accepted reference, with zero mismatched elements. Native/compute closure and scheduler restoration passed.
Windows process private commit and system commit below are sampled peaks, in GiB, at 500 ms intervals. They are not RSS or local VRAM usage. System totals include unrelated processes. Headroom is the sampled minimum of system commit limit minus system commit. See metric definitions.
| Observation scope | Peak process private commit (GiB) | Peak system commit (GiB) | Minimum system commit headroom (GiB) |
|---|---|---|---|
| Full observed capture including loading | 48.08 | 71.96 | 23.96 |
| Two-step denoising interval | 42.07 | 59.18 | 36.74 |
The transient loading peak precedes detachment and remains. Correctness-capture denoising time was 349.46 s, including final output readback, versus 352.25 s for the earlier reference. This is not a controlled speed comparison or performance acceptance. The demonstrated benefit is commit relief with selected exact-output equivalence; no full eight-step/decode, generic CUDA stability, other model, platform or installed-wheel acceptance is established.
Original evidence remains archived locally under
storage-detach-two-step-enabled-4a110a9835f74117a631e804434657fa, manifest
06e66a9c4a8f87d6287d392c9d94877d9b6229d2e57652295a2d48469266c472.
Reference: execution-backing-two-step-numerical-enabled-35ad11099d7546e194864e11916f2dd9.
These identities are archival evidence, not files required by public users.
Reproduce this workload
Use the runner guide and comparison controls, retaining the model, schedule, inputs, component routes and the scenario-specific capacities above. Runner defaults or a different custom-block revision do not guarantee equivalent conditions. Review trusted custom-block code and keep platform environments separate. Package/build validation and raw engineering investigations are developer concerns, not additional timing rows or prerequisites for interpreting these tables.