Systems engineering report · September 23, 2026

After DiT.
Decode, transfer, encode.

The full post-denoising optimization history behind FastH3: accelerate the full video VAE, preserve finalized frames through asynchronous transfer, and overlap CPU media production with GPU decoding.

This report covers both video and audio, from DiT output latents to the completed MP4 response. It reconstructs existing experiments and the runtime used by the five-second benchmark. No new GPU measurements were run for this publication.

36 decoder blocksFull H3 video VAE; no tiny-decoder substitution
144 NVFP4 linearsQuantized native decoder projections
2 pinned slotsBounded GPU-to-CPU RGB pipeline
4.673 sCurrent complete-request median; all stages, n = 5

The 4.673 s figure includes text encoding, DiT and all output processing for a 1344 × 768, 124-frame clip. It is not VAE latency. Independent experiments below have different timing boundaries; their speedups must not be multiplied or summed.

01 / EXECUTION MODEL

A pipelined post-DiT system

Each decoded temporal window is spatially tiled across eight GPUs. Rank zero gathers and blends those tiles, then emits only temporally finalized frames. Video transfer and CPU encoding can begin while later VAE windows are still being decoded. Audio follows a separate branch and joins at muxing.

01 · GPU × 8Full video VAE

Paired temporal windows, mixed B4/B3 tile batches, exact pointwise operators and NVFP4 linear layers.

02 · NCCL → RANK 0Gather + blend

FP32 tile payloads. Spatial blending first; five-frame temporal overlap retained until finalized.

03 · GPU COPY STREAMFused RGB + D2H

Inverse normalization, crop, layout and uint8 conversion. Asynchronous copy into two pinned host buffers.

04 · CPU MEDIA WORKERx264 + MP4

RGB-to-YUV420 conversion, ordered video encoding, video flush, AAC packet mux and container close.

Parallel audio branch: audio latent → unchanged audio VAE on an auxiliary CUDA stream → pinned waveform D2H → background AAC encoding → retained packets with original timestamps → final MP4 mux.

Figure 1. Dependency graph, not a timing diagram. Separate streams and threads permit overlap; they do not guarantee that all work is hidden. The API still returns a complete MP4, so early encoded packets are not yet client-visible video.

Response ready = completion of both media branches + remaining flush, mux and response work

For the current five-second request, seven temporal windows produce 7 × 17 + 5 = 124 frames. The 28 spatial tiles per window yield 196 real tile outputs across eight ranks. The scheduler pads collective buffers where needed, but never decodes or presents padding tiles. The five-frame overlap is an internal VAE reconstruction rule; it is distinct from inter-clip motion context in a livestream.

September 5 · Output architecture

Finalized chunks, GPU uint8 conversion, bounded pinned D2H and a persistent encoder session per request.

September 6 · Exact decoder path

Fused decoder operators and persistent FP16 weights qualified on a real-weight temporal window.

September 16–18 · Decode/output refinements

NVFP4, early gather, normalization caching, early AAC and byte-exact blend/RGB fusion.

September 23 · Five-second integration

Request-derived scheduling and dispatch checks retained at 1344 × 768 and 124 frames.

02 / DECODER COMPUTE

Remove repeated work before lowering precision

The exact-op installer combines Q/K RMS normalization with RoPE, uses fused SiLU-and-multiply for the feed-forward activation, and combines scaled residual operations while preserving the qualified rounding behavior. It also persists decoder linear weights in FP16 on the unquantized path, matching the casts already performed by FP16 autocast. This avoids repeatedly rebuilding equivalent weight casts. The encoder remains FP32.

That FP16 residency change is superseded by resident packed weights when NVFP4 is enabled. The exact operators remain active. Native blocks expose fused QKV, output, FF input and FF output projections: four linears per block, or 144 total. The stock FastVideo representation instead exposes separate Q/K/V projections and has 216 linears for the equivalent 36-block decoder.

0 s0.5 s1 s1.5 s2 s2.5 sStock decoder2.287Exact-op installer1.723

Figure 2. September 6 real-weight one-window A/B, one SM120 GPU; latent [1, 24, 7, 44, 80], tile size 256. Two warmups and ten CUDA-event samples per arm. Median 2.287 → 1.723 s (24.65% lower; 1.327×). Peak allocated memory 11.308 → 6.811 GiB. Output was bitwise equal. Stock ran first; the installer changes weights in place. This is the combined installer result, not a whole-video or eight-GPU speedup.

OperatorReference msFused msSpeedupCorrectness
Q/K RMSNorm + RoPE1.07770.12088.92×Bitwise equal
Scaled residual0.19930.13671.46×Bitwise equal
RGB conversion2.84220.193514.69×Byte-identical on qualified inputs
Spatial blend0.07860.04311.82×Byte-identical on qualified inputs

Table 1. Isolated operator measurements from two campaigns. Q/K norm–RoPE and residual: 50 CUDA-event samples after five warmups; shapes [4, 1797, 32, 64] and [4, 1797, 2048]. RGB and blend: September 18, seven randomized rounds after one warmup, ten calls per sample; a 17 × 704 × 1280 frame block and a 22 × 256 × 256 tile with 96-pixel overlap. The RGB baseline already caches normalization constants. These component savings are not additive E2E savings.

Batch tiles without changing the assembly contract

The paired scheduler distributes two temporal windows together. Mixed batching groups up to four independent tile decodes while preserving each tile's position in the gather schedule. Attention output projection remains at its original B1 shape and stride. On the current request, every rank makes seven batched decoder calls instead of separately invoking the decoder for its 24 or 25 tiles; output projections still run per tile. Batching is an execution change, not a blanket proof of bitwise equivalence for arbitrary GEMM shapes.

No isolated full-request speedup for pairing or B4 batching is assigned here. Their inclusion is verified by source and dispatch counters; the measured decoder A/B above has its own explicitly stated scope.

03 / LOSSY DECODER ACCELERATION

NVFP4 is a measured precision tradeoff

The native NVFP4 path replaces only the 144 transformer-block linears. Original FP32 weights are quantized once at installation and remain packed on the GPU. Each invocation dynamically quantizes its FP16 activations, executes cuBLASLt block-scaled GEMM, and returns FP16. Activation quantization and scale reduction remain in the timed decode path.

MXFP8 · historical option

E4M3 payload, E8M0 scales per 32 elements; FP16 activation/output boundaries. Weight quantization occurs once, activation quantization per call.

LOSSY · CURRENTLY DISABLED

NVFP4 · current option

Packed E2M1 payload, E4M3 block scales per 16 elements, FP32 tensor scales; FP16 activation/output boundaries. Convolutions and all other VAE operations are not converted wholesale to FP4.

LOSSY · CURRENTLY ENABLED
Native VAE experimentComplete requestOutput interpretation
MXFP8 reference14.973 sPrior native baseline
MXFP8 + early gather14.938 sMP4 byte-identical to MXFP8 reference
NVFP414.472 sLossy decoder change; decoded audio unchanged
NVFP4 + early gather14.444 sMP4 byte-identical to NVFP4 without early gather

Table 2. September 16: same native DiT, full moon-teahouse prompt, seed 1101, four forwards, 1280 × 704, 362 frames, eight GPUs. One warmup and one formal HTTP-to-MP4 request per arm. The combined 529 ms difference is an observation from single samples; the extra 28 ms attributed by subtraction to early gather is not a demonstrated stable gain. Synthetic-latent interleaved VAE-only trials gave 3.087443 versus 3.086844 s, with identical raw FP32 output.

For this native NVFP4-versus-MXFP8 video, all 362 decoded frames gave mean SSIM 0.972081 and PSNR 40.057 dB; decoded audio PCM matched. These are similarity measurements against an already quantized reference, not a lossless-quality claim.

Independent precision-only quality evidence

The original FastVideo gallery also tests VAE MXFP8 and NVFP4 with DiT unchanged. Across seven prompts, VAE input latents exactly match Original and decoded audio is identical. Only the selected decoder GEMMs change. This is a separate implementation and experiment from native serving above.

PromptMXFP8 PSNR dBNVFP4 PSNR dBMXFP8 SSIMNVFP4 SSIM
Moon Teahouse40.1338.040.96430.9567
Dachshund Skatepark38.1235.870.95670.9447
Attic Rain41.0738.650.97060.9625
Doorway Worlds40.4538.540.96710.9603
Ronin Void40.8438.910.96490.9582
Anime Maid Livestream37.6035.060.96100.9506
Ninja Obstacle Course37.6735.200.95400.9373
Mean across seven prompts39.411237.18100.96270.9529

Table 3. Original FastVideo baseline, 1280 × 704, 361 decoded video frames at 24 fps, seed 1101. Metrics use aligned decoded 8-bit YUV420p MP4 frames, without resizing, cropping or temporal search, and include codec effects. Final row is the arithmetic mean of seven per-prompt scores, not pooled PSNR. Similarity to Original does not establish perceptual acceptability or long-session identity stability.

Original VAEOriginal FastVideo stack · 361 frames

Download original MP4

VAE MXFP8Original FastVideo stack · 361 frames

Download original MP4

VAE NVFP4Original FastVideo stack · 361 frames

Download original MP4

Figure 3. The existing moon-teahouse precision-only clips, reused without re-encoding. These are approximately 15-second quality examples, not the five-second timing run. Browser playback synchronization is approximate. All seven prompts · Original ablation validation · Per-prompt metrics.

04 / COMMUNICATION AND AUDIO OVERLAP

Move work off the serial tail

VAE gather uses a dedicated NCCL stream and FP32 payloads. Early gather sends the first four decoded tiles while the remaining three are computed; rank-zero assembly can overlap the next decode round. CUDA events and stream ownership retain buffers until the consuming work finishes. This VAE gather path is separate from the custom RDMA used inside DiT.

The audio VAE starts on an auxiliary stream before video decoding. After the waveform is ready, a separate stream transfers it to pinned CPU memory; a background thread encodes AAC. Finalization reuses the encoded packets, preserving codec settings, extradata, timestamps and mux order. This reschedules audio processing; it does not replace the audio decoder or change its precision.

14.95 s15.06 s15.18 s15.29 s15.40 sContemporary baselineRepeat 1: 15.190000 sRepeat 2: 15.240000 sRepeat 3: 15.354000 sCached constantsRepeat 1: 15.140000 sRepeat 2: 15.191000 sRepeat 3: 15.279000 sCache + early first-window assemblyRepeat 1: 15.130000 sRepeat 2: 15.186000 sRepeat 3: 15.231000 sCache + early AACRepeat 1: 15.028000 sRepeat 2: 15.044000 sRepeat 3: 15.127000 sCache + early assembly + early AACRepeat 1: 15.026000 sRepeat 2: 15.056000 sRepeat 3: 15.102000 s
ConfigurationThree complete requests (s)Median (s)MP4 equality
Contemporary baseline15.190 / 15.240 / 15.35415.240Byte-identical
Cached constants15.140 / 15.191 / 15.27915.191Byte-identical
Cache + early first-window assembly15.130 / 15.186 / 15.23115.186Byte-identical
Cache + early AAC15.028 / 15.044 / 15.12715.044Byte-identical
Cache + early assembly + early AAC15.026 / 15.056 / 15.10215.056Byte-identical

Figure 4 and Table 4. September 18 scheduling A/B, one warmup plus three formal complete HTTP requests per configuration; 1280 × 704, 362 frames, seed 1101. First DiT step BF16, remaining three MXFP8/Sage; NVFP4 VAE in every arm. Dots show all formal samples, vertical marks show medians; horizontal axis is expanded. Every warmup and formal MP4 matched the corresponding original reference byte for byte.

Selected change: cached constants + early AAC. Median request latency fell 15.240 → 15.044 s, or 196 ms (1.29%). The logged audio-finalize scope fell from approximately 152–153 ms to 6–8 ms. Early first-window assembly did not demonstrate a clear additional gain and remains disabled. All three selected samples were still above 15 s.

Cached normalization constants remove per-chunk constant transfers and the repeated host-visible standard-deviation check. Its initial implementation retained the original FP32 subtract/divide operations. The current fused RGB path incorporates the same cached-constant semantics, so these savings must not be counted a second time.

05 / GPU ASSEMBLY AND POSTPROCESSING

Fuse the output while preserving rounding

Spatial and temporal blend

Cache the original Torch-generated overlap weights, then combine two multiplies, the sum and unaffected-region copying in one kernel. Preserve vertical-before-horizontal assembly and the original separate FP32 rounding; avoid contracting arithmetic into FMA.

BYTE-EXACT ON QUALIFIED INPUTS

Finalized frames to RGB bytes

Fuse inverse normalization, crop, BCTHW-to-THWC layout, clamp, scaling, round-to-nearest-even and uint8 conversion. Keep the original subtract/divide formulation rather than replacing it with algebraically equivalent multiply-add.

BYTE-EXACT ON QUALIFIED INPUTS

The five-frame overlap stays in floating point until temporal blending is finished. Only finalized pixels are converted to uint8. Quantizing the overlap earlier would introduce an additional numerical change and is not part of this path.

13.15 s13.21 s13.28 s13.34 s13.40 sContemporary baselineRepeat 1: 13.303000 sRepeat 2: 13.334000 sRepeat 3: 13.362000 sGPU blend + RGB fusionRepeat 1: 13.212000 sRepeat 2: 13.261000 sRepeat 3: 13.336000 s

Figure 5. September 18 full-model output-fusion A/B; all four DiT steps MXFP8/Sage, NVFP4 VAE, identical CRF18/SLICE/from_ndarray output settings. Baseline requests: 13.303 / 13.334 / 13.362 s; fused: 13.212 / 13.261 / 13.336 s. One warmup and three formal requests per arm, 362 frames at 1280 × 704. Median improvement: 73 ms (0.55%). This is a separate baseline from Figure 4.

Thirty-six standalone CUDA checks passed. Real-model warmup compared 965 FP32 blend outputs and 22 RGB chunks with zero fallback; all matched. Complete candidate MP4 files matched the contemporary baseline. The output pipeline span's median fell 2.291 → 2.210 s, but this span overlaps upstream decoding and cannot be added to the 73 ms E2E improvement.

The RGB kernel improved 2.842 → 0.193 ms per measured main chunk, a 14.69× component speedup. The full request improved by 0.55%. This difference is expected when most media production already overlaps GPU decoding.

06 / D2H, CPU ENCODING AND MUX

Transfer finalized bytes; consume them in order

The chunked output path avoids assembling and transporting a full-resolution floating-point video on rank zero. GPU conversion produces RGB24 bytes before D2H. At the current 1344 × 768 resolution, 124 frames require 366.19 MiB of RGB uint8 payload, compared with 1,464.75 MiB for the same RGB pixels in FP32: four times fewer transfer bytes by dtype alone. This byte-count ratio is not a measured fourfold latency gain.

MechanismCurrent behaviorBenefit and boundary
Finalized chunk callbackSeven 17-frame chunks plus a five-frame tailBegins output before full video decode finishes; preserves frame order and the advertised count.
Pinned host ringTwo bounded RGB slotsReuses storage and caps outstanding copies; slot recycling follows CPU consumption.
Dedicated copy streamProducer event → GPU RGB → async D2H → ready eventThe media worker waits for readiness; normal submission avoids a host stream synchronization.
Persistent media sessionOne PyAV/libx264 encoder and MP4 container per requestFeeds all chunks to the same session; no per-chunk encoder restart or intermediate-video concatenation.
Compact response transportRank zero returns encoded MP4 bytes; peers return lightweight placeholdersThe current formal clips are 9.73 MiB each. Full RGB or FP32 video tensors do not need to cross the output boundary for this route.
Ordered CPU consumptionfrom_ndarray → RGB-to-YUV420 → x264 → muxOverlaps upstream GPU work; current published run retains the copying frame wrapper.
Early AAC packetsBackground encode, preserved packet metadataReduces serial audio work at the tail; AAC and H.264 remain lossy media codecs.
Deferred failure handlingDrain outstanding copies and collectives before reporting failureA rank-zero encoding error cannot leave peer ranks blocked inside VAE collectives.

An earlier single-output fast path also removed a redundant full-clip torch.cat: one generated sample can be returned directly, while true multi-output requests retain concatenation. The chunked-MP4 route goes further by never constructing that full decoded output tensor. These are related stages in the output architecture, not two independently measured savings to add together.

CPU candidates: measured separately, not yet active

The strongest standalone CPU candidate combines x264 FRAME threads, constant frame rate and VideoFrame.from_numpy_buffer. Borrowing the existing RGB buffer removes the frame-wrapper copy. The most useful isolated comparison holds FRAME12/CFR/CRF17 fixed and changes only copy → view.

CPU configurationTeahouse bulk msHoldout bulk msTeahouse frame-wrap msTeahouse replay tail msHoldout replay tail ms
baseline slice copy427.32371.25105.2529.8021.01
frame12 cfr copy249.80229.74115.5019.9915.03
frame12 cfr view147.87125.651.7214.3110.12
frame16 cfr view135.02126.371.7112.979.49

Table 5. Two existing H3 clips, each decoded to 360 RGB frames, 1280 × 704, 24 fps. One warmup and seven randomized rounds per configuration. Bulk includes frame wrapping, initialization, RGB-to-YUV conversion, encode/mux and flush/close; it excludes input loading, GPU work, D2H, audio and file I/O. Replay feeds the same pixels at 22 historical D2H-ready times, with the five-frame tail trimmed to three. It does not reproduce live GPU contention, backpressure or pinned-memory NUMA behavior.

With FRAME12 fixed, buffer views reduced teahouse consumer time 249.80 → 147.87 ms, including frame-wrapper work 115.50 → 1.72 ms. Decoded pixels matched for that copy/view comparison. The combined SLICE/CRF18 → FRAME16/CRF17 change also changes encoding parameters, so the entire combination must not be labeled lossless. Two-slot overwrite-and-reuse tests validated the borrowed RGB buffer lifetime for the tested PyAV 18.1/libx264 conversion path.

FRAME16 returns its first packet after 17 input frames in the tested CFR configuration. That fits one main VAE output chunk, but it does not mean the HTTP client receives a frame at that time. The complete-MP4 API boundary remains unchanged.

Current five-second runtime: CPU libx264, CRF18, ultrafast, automatic thread count, observed SLICE behavior, and from_ndarray. FRAME16, CRF17 and buffer views remain candidates. NVENC is disabled; standalone encoder throughput does not establish a full H3 gain at matched quality.

More pinned slots, smaller D2H chunks and GPU YUV conversion remain unadopted ideas. Current logs show no producer backpressure at millisecond precision, and the historical D2H copy cost is small. CPU colorspace-thread experiments produced only small, overlapping replay-tail differences; neither those changes nor a hardware encoder are counted as deployed improvements.

07 / NSIGHT EVIDENCE

Separate actual transfer from waiting for frames

0 ms500 ms1000 ms1500 ms2000 ms2500 msVideo VAE CPU scopeGPU RGB preparationGPU D2H copiesCPU ready-event waitCPU video encode + muxCPU early AACOutput tailVideo VAE host scope: 0.000 to 2587.933 msChunk 0: 321.174 to 324.169 msChunk 0: 324.173 to 325.010 msChunk 0: 271.778 to 325.539 msChunk 0: 325.665 to 356.782 msChunk 1: 342.563 to 345.232 msChunk 1: 345.233 to 346.161 msChunk 1: 356.939 to 356.989 msChunk 1: 357.059 to 378.594 msChunk 2: 558.857 to 561.525 msChunk 2: 561.530 to 562.366 msChunk 2: 498.024 to 562.768 msChunk 2: 562.876 to 587.969 msChunk 3: 579.988 to 583.493 msChunk 3: 583.497 to 584.365 msChunk 3: 588.134 to 588.166 msChunk 3: 588.218 to 609.462 msChunk 4: 796.206 to 798.842 msChunk 4: 798.846 to 799.689 msChunk 4: 735.261 to 800.204 msChunk 4: 800.291 to 824.823 msChunk 5: 817.330 to 820.578 msChunk 5: 820.587 to 821.541 msChunk 5: 824.968 to 824.998 msChunk 5: 825.056 to 846.174 msChunk 6: 1033.627 to 1036.292 msChunk 6: 1036.294 to 1037.123 msChunk 6: 974.941 to 1037.661 msChunk 6: 1037.732 to 1062.836 msChunk 7: 1054.762 to 1057.378 msChunk 7: 1057.381 to 1058.313 msChunk 7: 1062.963 to 1062.989 msChunk 7: 1063.037 to 1085.813 msChunk 8: 1270.896 to 1273.558 msChunk 8: 1273.561 to 1274.394 msChunk 8: 1210.093 to 1274.883 msChunk 8: 1274.959 to 1303.915 msChunk 9: 1293.153 to 1296.317 msChunk 9: 1296.323 to 1297.143 msChunk 9: 1304.409 to 1304.469 msChunk 9: 1304.533 to 1332.266 msChunk 10: 1508.346 to 1511.005 msChunk 10: 1511.014 to 1511.853 msChunk 10: 1447.205 to 1511.955 msChunk 10: 1512.034 to 1545.584 msChunk 11: 1530.276 to 1533.276 msChunk 11: 1533.279 to 1534.103 msChunk 11: 1545.724 to 1545.787 msChunk 11: 1545.851 to 1577.104 msChunk 12: 1745.677 to 1748.357 msChunk 12: 1748.361 to 1749.191 msChunk 12: 1684.717 to 1749.697 msChunk 12: 1749.795 to 1781.245 msChunk 13: 1767.353 to 1770.645 msChunk 13: 1770.653 to 1771.475 msChunk 13: 1781.455 to 1781.481 msChunk 13: 1781.541 to 1812.023 msChunk 14: 1983.211 to 1985.867 msChunk 14: 1985.873 to 1986.701 msChunk 14: 1922.263 to 1987.204 msChunk 14: 1987.306 to 2019.223 msChunk 15: 2003.814 to 2006.758 msChunk 15: 2006.762 to 2007.595 msChunk 15: 2019.369 to 2019.437 msChunk 15: 2019.512 to 2041.352 msChunk 16: 2220.798 to 2223.470 msChunk 16: 2223.475 to 2224.309 msChunk 16: 2159.555 to 2224.819 msChunk 16: 2224.893 to 2249.899 msChunk 17: 2242.782 to 2245.785 msChunk 17: 2245.788 to 2246.611 msChunk 17: 2250.028 to 2250.054 msChunk 17: 2250.104 to 2273.465 msChunk 18: 2458.476 to 2461.129 msChunk 18: 2461.133 to 2461.971 msChunk 18: 2397.481 to 2462.626 msChunk 18: 2462.735 to 2488.348 msChunk 19: 2479.311 to 2482.266 msChunk 19: 2482.268 to 2483.164 msChunk 19: 2488.781 to 2488.847 msChunk 19: 2488.899 to 2512.198 msChunk 20: 2587.250 to 2589.793 msChunk 20: 2589.795 to 2590.609 msChunk 20: 2531.758 to 2590.623 msChunk 20: 2590.679 to 2612.469 msChunk 21: 2590.668 to 2590.950 msChunk 21: 2590.952 to 2591.192 msChunk 21: 2612.562 to 2612.583 msChunk 21: 2612.625 to 2619.083 msAAC encoding: 121.850 to 296.248 msLast D2H to finish: 2591.192 to 2628.418 ms

Figure 6. Existing Nsight Systems trace of one 362-frame Config A request, with time zero at the video-VAE CPU scope entry. The scope includes submission and waits; it is not continuous GPU execution. Narrow D2H spans are actual CUDA memcpy intervals. The plot is derived from recorded timestamps, not a simulated schedule. Configuration: first DiT step BF16, later MXFP8/Sage, NVFP4 VAE, cached constants and early AAC, before later output fusion. Profiled timing is diagnostic, not the current five-second latency.

Historical rangeMeasured workInterpretation
Video VAE CPU scope2,587.93 msWall-clock host range, including asynchronous submission and final waits.
Rank-zero tile decoder kernels2,288.64 msCumulative kernel work: NVFP4 GEMM 843.60 ms, attention 407.82 ms, activation quantization 192.64 ms.
Gather kernels194.21 ms21 NCCL kernels; overlaps compute and includes synchronization/waiting.
Assembly stream residual98.56 ms9,378 kernels outside named tile/gather/submit scopes; attributed by stream and source, not a dedicated spatial-blend annotation.
GPU RGB preparation kernels54.95 ms177 kernels before the later fusion; extra D2D memcpy work is a separate category.
Actual RGB D2H18.10 ms22 copies; median main chunk 0.833 ms; 54.1 GB/s effective bandwidth during copies.
CPU ready-event wait695.37 msWaiting for upstream supply, preparation and transfer; not D2H execution time.
CPU encode + mux555.23 msCumulative work, largely concurrent with VAE decoding.
Last D2H → finish37.23 msResidual tail in this profiled request; includes queueing and finalization.

The trace contains zero cudaStreamSynchronize calls inside the 22 normal output submission ranges. Early AAC runs from 12,948.704 to 13,123.102 ms after request origin and completes before video GPU work ends at 15,417.805 ms. These observations validate overlap mechanisms. Summing kernel time across streams, or treating the 695 ms consumer wait as removable copy overhead, would overstate the remaining opportunity.

Raw traces are not republished here. The sanitized timestamp series and component aggregates are included in the downloadable evidence, with source-artifact hashes.

08 / CURRENT FIVE-SECOND CONFIGURATION

What the published benchmark actually executes

The optimized + PR #5317-fences arm runs on eight GB202 GPUs with TP1/SP8, four DiT forwards, seed 1101 and the unchanged moon-teahouse prompt. Two warmups precede five formal requests. It generates 124 video frames at 24 fps, or 5.1667 seconds, at native 1344 × 768. The tables below are extracted from that run, not projections from the older 15-second experiments.

Measured rangeMedian msMin–max msTiming interpretation
Complete request4673.304659.82–4694.25HTTP submission to complete MP4 bytes; includes text encoding and DiT.
Output pipeline span657.00652.00–661.00First finalized chunk submission to output finish; overlaps VAE, and omits its initial work.
CPU ready-event wait208.00206.00–208.00Cumulative consumer wait for VAE, GPU preparation and copy completion; not PCIe time.
CPU video encode + mux194.00176.00–208.00Cumulative consumer work including frame construction and implicit RGB-to-YUV conversion.
Background AAC encoding76.6475.23–77.98Runs alongside video work; not an additional serial term.
Final audio/mux scope4.004.00–6.00Video flush, preencoded AAC packet mux and finalization work in the logged scope.

Table 6. Five formal samples; log-derived scopes use millisecond precision except AAC's dedicated measurements. Median output-pipeline span is 657 ms, while median complete request is 4,673.30 ms. The pipeline span begins only when the first finalized chunk is submitted: it is neither total post-DiT latency nor VAE-only latency. An additive five-second post-DiT critical-path breakdown requires a matching profile; the older trace cannot substitute for it.

OptimizationStatus in this runEvidence / limitation
Full VAE exact operatorsACTIVE56 rank/request completion records; expected transformer, Q/K norm–RoPE, SwiGLU and residual counts; no fallback.
Persistent FP16 decoder linearsREPLACED BY NVFP4Historical unquantized optimization; current linears instead hold packed NVFP4 weights.
NVFP4 decoder linearsACTIVE · LOSSY144 modules per rank; 56 passing completion records across two warmups and five formal requests.
Pair schedule + mixed B4 batchingACTIVESeven windows, 28 tiles/window, 196 total tiles; four padded collective slots never consumed as images.
Gather overlap + early gatherACTIVESeven gather submissions per rank; three early splits. FP32 transport retained.
Cached constants + blend/RGB fusionACTIVEFirst warmup: 321 actual FP32 blend comparisons and eight actual RGB chunk comparisons, all byte-identical. Formal runs count calls without redoing reference work.
Pinned D2H + chunked CPU outputACTIVETwo slots, eight emitted chunks, 366.19 MiB RGB payload. Backpressure 0.000 s in all five logs, at reported precision.
Audio/video overlap + early AACACTIVEUnchanged audio decoder math; event-ordered waveform copy and seven passing AAC completion records.
First-window early assemblyDISABLEDNo clear incremental E2E gain in the historical scheduling comparison.
FRAME16 + CFR + RGB buffer viewCPU-ONLY CANDIDATEMeasured standalone and in trace replay; absent from this five-second runtime.
TAEH3 / NVENC / VAE MXFP8 / INT8 ConvRotDISABLEDNot counted as active contributors. Current output uses full-VAE NVFP4 plus CPU x264.

Remaining work, ordered by evidence

First, qualify the CPU buffer-view candidate inside the complete five-second path, holding encoder parameters fixed to isolate the copy removal. Then evaluate FRAME/CFR settings separately, including buffering, video quality, timestamps and the final response tail. The CPU replay suggests an opportunity; it does not prove a live gain.

For larger decode gains, investigate the actual VAE compute path: activation quantization, scale reductions, activation/normalization boundaries, and B4/B3 GEMM shapes. The historical profile identifies work to study, but none of its kernel totals is a guaranteed saving. More D2H slots are lower priority until measured backpressure or transfer saturation appears.

Long-video identity drift, audio articulation and livestream viewer latency require separate evaluations. Decoder precision metrics, byte-exact output transforms and faster MP4 production do not by themselves establish those product-level properties. Twitch buffering, network transport and the interaction harness are outside this report's measured boundary.

Exact decode/output environment from the measured run
MINIMAX_H3_VAE_DECODER_STREAM_TEMPORAL_CAT=1
MINIMAX_H3_VAE_NVENC_PIPELINE=0
VLLM_OMNI_H3_FULL_VAE_AUDIO_OVERLAP=1
VLLM_OMNI_H3_FULL_VAE_EARLY_AAC=1
VLLM_OMNI_H3_OUTPUT_FUSION=1
VLLM_OMNI_H3_VAE_BATCH4=1
VLLM_OMNI_H3_VAE_CACHED_NORMALIZE=1
VLLM_OMNI_H3_VAE_EARLY_GATHER=1
VLLM_OMNI_H3_VAE_FIRST_WINDOW_EARLY=0
VLLM_OMNI_H3_VAE_GATHER_OVERLAP=1
VLLM_OMNI_H3_VAE_INT8_CONVROT=0
VLLM_OMNI_H3_VAE_MIXED_BATCH=1
VLLM_OMNI_H3_VAE_MXFP8=0
VLLM_OMNI_H3_VAE_NVFP4=1
VLLM_OMNI_H3_VAE_PAIR_PIPELINE=1
VLLM_OMNI_MINIMAX_H3_CHUNKED_CPU_MP4_OUTPUT=1
VLLM_OMNI_MINIMAX_H3_CHUNKED_CPU_MP4_SLOTS=2
VLLM_OMNI_MINIMAX_H3_GPU_UINT8_OUTPUT=0
VLLM_OMNI_MINIMAX_H3_VAE_DECODER_TILE_SIZE=0
VLLM_OMNI_MINIMAX_H3_VAE_EXACT_OPS_SM120=1
VLLM_OMNI_MINIMAX_H3_VAE_TEMPORAL_CHUNK_PARALLEL=0
VLLM_OMNI_MINIMAX_H3_VAE_TEMPORAL_PRE_GATHER_PRUNE=0

These are recorded experiment flags, not a portable deployment recipe. Source checks and shape contracts apply. The standalone GPU-uint8-output flag can be zero while chunked CPU output still performs GPU uint8 conversion internally.

Measurement and reproducibility notes

Unprofiled complete-request measurements exclude model loading, compilation, warmup and post-response verification. GPU campaigns were admitted only after their recorded run checks; clocks were not locked and most configurations ran sequentially. Three or five samples are descriptive, not a p99 service guarantee. Single-sample quantization timing is explicitly identified. CPU tuning did not reserve the entire host. Exactness claims apply to the compared tensors or files in the stated tests, not arbitrary hardware and inputs.

The evidence JSON includes original timing samples, seven-prompt quality scores, sanitized profiler timestamps, current execution counters and hashes of the relevant source files. Historical 704p and current 768p results stay separate. All existing media is reused without re-encoding.