Paired temporal windows, mixed B4/B3 tile batches, exact pointwise operators and NVFP4 linear layers.
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.
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.
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.
FP32 tile payloads. Spatial blending first; five-frame temporal overlap retained until finalized.
Inverse normalization, crop, layout and uint8 conversion. Asynchronous copy into two pinned host buffers.
RGB-to-YUV420 conversion, ordered video encoding, video flush, AAC packet mux and container close.
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.
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.
Finalized chunks, GPU uint8 conversion, bounded pinned D2H and a persistent encoder session per request.
Fused decoder operators and persistent FP16 weights qualified on a real-weight temporal window.
NVFP4, early gather, normalization caching, early AAC and byte-exact blend/RGB fusion.
Request-derived scheduling and dispatch checks retained at 1344 × 768 and 124 frames.
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.
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.
| Operator | Reference ms | Fused ms | Speedup | Correctness |
|---|---|---|---|---|
| Q/K RMSNorm + RoPE | 1.0777 | 0.1208 | 8.92× | Bitwise equal |
| Scaled residual | 0.1993 | 0.1367 | 1.46× | Bitwise equal |
| RGB conversion | 2.8422 | 0.1935 | 14.69× | Byte-identical on qualified inputs |
| Spatial blend | 0.0786 | 0.0431 | 1.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.
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 DISABLEDNVFP4 · 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 experiment | Complete request | Output interpretation |
|---|---|---|
| MXFP8 reference | 14.973 s | Prior native baseline |
| MXFP8 + early gather | 14.938 s | MP4 byte-identical to MXFP8 reference |
| NVFP4 | 14.472 s | Lossy decoder change; decoded audio unchanged |
| NVFP4 + early gather | 14.444 s | MP4 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.
| Prompt | MXFP8 PSNR dB | NVFP4 PSNR dB | MXFP8 SSIM | NVFP4 SSIM |
|---|---|---|---|---|
| Moon Teahouse | 40.13 | 38.04 | 0.9643 | 0.9567 |
| Dachshund Skatepark | 38.12 | 35.87 | 0.9567 | 0.9447 |
| Attic Rain | 41.07 | 38.65 | 0.9706 | 0.9625 |
| Doorway Worlds | 40.45 | 38.54 | 0.9671 | 0.9603 |
| Ronin Void | 40.84 | 38.91 | 0.9649 | 0.9582 |
| Anime Maid Livestream | 37.60 | 35.06 | 0.9610 | 0.9506 |
| Ninja Obstacle Course | 37.67 | 35.20 | 0.9540 | 0.9373 |
| Mean across seven prompts | 39.4112 | 37.1810 | 0.9627 | 0.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.
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.
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.
| Configuration | Three complete requests (s) | Median (s) | MP4 equality |
|---|---|---|---|
| Contemporary baseline | 15.190 / 15.240 / 15.354 | 15.240 | Byte-identical |
| Cached constants | 15.140 / 15.191 / 15.279 | 15.191 | Byte-identical |
| Cache + early first-window assembly | 15.130 / 15.186 / 15.231 | 15.186 | Byte-identical |
| Cache + early AAC | 15.028 / 15.044 / 15.127 | 15.044 | Byte-identical |
| Cache + early assembly + early AAC | 15.026 / 15.056 / 15.102 | 15.056 | Byte-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.
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 INPUTSFinalized 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 INPUTSThe 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.
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.
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.
| Mechanism | Current behavior | Benefit and boundary |
|---|---|---|
| Finalized chunk callback | Seven 17-frame chunks plus a five-frame tail | Begins output before full video decode finishes; preserves frame order and the advertised count. |
| Pinned host ring | Two bounded RGB slots | Reuses storage and caps outstanding copies; slot recycling follows CPU consumption. |
| Dedicated copy stream | Producer event → GPU RGB → async D2H → ready event | The media worker waits for readiness; normal submission avoids a host stream synchronization. |
| Persistent media session | One PyAV/libx264 encoder and MP4 container per request | Feeds all chunks to the same session; no per-chunk encoder restart or intermediate-video concatenation. |
| Compact response transport | Rank zero returns encoded MP4 bytes; peers return lightweight placeholders | The 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 consumption | from_ndarray → RGB-to-YUV420 → x264 → mux | Overlaps upstream GPU work; current published run retains the copying frame wrapper. |
| Early AAC packets | Background encode, preserved packet metadata | Reduces serial audio work at the tail; AAC and H.264 remain lossy media codecs. |
| Deferred failure handling | Drain outstanding copies and collectives before reporting failure | A 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 configuration | Teahouse bulk ms | Holdout bulk ms | Teahouse frame-wrap ms | Teahouse replay tail ms | Holdout replay tail ms |
|---|---|---|---|---|---|
| baseline slice copy | 427.32 | 371.25 | 105.25 | 29.80 | 21.01 |
| frame12 cfr copy | 249.80 | 229.74 | 115.50 | 19.99 | 15.03 |
| frame12 cfr view | 147.87 | 125.65 | 1.72 | 14.31 | 10.12 |
| frame16 cfr view | 135.02 | 126.37 | 1.71 | 12.97 | 9.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.
Separate actual transfer from waiting for frames
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 range | Measured work | Interpretation |
|---|---|---|
| Video VAE CPU scope | 2,587.93 ms | Wall-clock host range, including asynchronous submission and final waits. |
| Rank-zero tile decoder kernels | 2,288.64 ms | Cumulative kernel work: NVFP4 GEMM 843.60 ms, attention 407.82 ms, activation quantization 192.64 ms. |
| Gather kernels | 194.21 ms | 21 NCCL kernels; overlaps compute and includes synchronization/waiting. |
| Assembly stream residual | 98.56 ms | 9,378 kernels outside named tile/gather/submit scopes; attributed by stream and source, not a dedicated spatial-blend annotation. |
| GPU RGB preparation kernels | 54.95 ms | 177 kernels before the later fusion; extra D2D memcpy work is a separate category. |
| Actual RGB D2H | 18.10 ms | 22 copies; median main chunk 0.833 ms; 54.1 GB/s effective bandwidth during copies. |
| CPU ready-event wait | 695.37 ms | Waiting for upstream supply, preparation and transfer; not D2H execution time. |
| CPU encode + mux | 555.23 ms | Cumulative work, largely concurrent with VAE decoding. |
| Last D2H → finish | 37.23 ms | Residual 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.
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 range | Median ms | Min–max ms | Timing interpretation |
|---|---|---|---|
| Complete request | 4673.30 | 4659.82–4694.25 | HTTP submission to complete MP4 bytes; includes text encoding and DiT. |
| Output pipeline span | 657.00 | 652.00–661.00 | First finalized chunk submission to output finish; overlaps VAE, and omits its initial work. |
| CPU ready-event wait | 208.00 | 206.00–208.00 | Cumulative consumer wait for VAE, GPU preparation and copy completion; not PCIe time. |
| CPU video encode + mux | 194.00 | 176.00–208.00 | Cumulative consumer work including frame construction and implicit RGB-to-YUV conversion. |
| Background AAC encoding | 76.64 | 75.23–77.98 | Runs alongside video work; not an additional serial term. |
| Final audio/mux scope | 4.00 | 4.00–6.00 | Video 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.
| Optimization | Status in this run | Evidence / limitation |
|---|---|---|
| Full VAE exact operators | ACTIVE | 56 rank/request completion records; expected transformer, Q/K norm–RoPE, SwiGLU and residual counts; no fallback. |
| Persistent FP16 decoder linears | REPLACED BY NVFP4 | Historical unquantized optimization; current linears instead hold packed NVFP4 weights. |
| NVFP4 decoder linears | ACTIVE · LOSSY | 144 modules per rank; 56 passing completion records across two warmups and five formal requests. |
| Pair schedule + mixed B4 batching | ACTIVE | Seven windows, 28 tiles/window, 196 total tiles; four padded collective slots never consumed as images. |
| Gather overlap + early gather | ACTIVE | Seven gather submissions per rank; three early splits. FP32 transport retained. |
| Cached constants + blend/RGB fusion | ACTIVE | First 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 output | ACTIVE | Two slots, eight emitted chunks, 366.19 MiB RGB payload. Backpressure 0.000 s in all five logs, at reported precision. |
| Audio/video overlap + early AAC | ACTIVE | Unchanged audio decoder math; event-ordered waveform copy and seven passing AAC completion records. |
| First-window early assembly | DISABLED | No clear incremental E2E gain in the historical scheduling comparison. |
| FRAME16 + CFR + RGB buffer view | CPU-ONLY CANDIDATE | Measured standalone and in trace replay; absent from this five-second runtime. |
| TAEH3 / NVENC / VAE MXFP8 / INT8 ConvRot | DISABLED | Not 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.