Commit cefacd2
authored
Ports Lightricks LTX-2.5 -- a 21.00B joint video+audio flow-matching DiT, 48
blocks, two coupled streams (video 4096 / audio 2048) joined by explicit
audio<->video cross-attention, per-head gated attention, gelu-approximate FFN --
and generalizes the diffusion lane so a second model was ADDITIVE rather than a
fork. MiniMax-H3 moves behind the new `vllm::multimodal::VideoEngine` seam with
its fold gate holding it to the same golden bytes.
WHAT RUNS. The DiT and both VAEs including their ENCODERS and the mel front-end;
the pipeline layer (sigma schedule, guidance, latent spatial x2 upsampler,
duration head, embeddings connector); the quantized loaders, with FP8, torchao
NVFP4 and the first-party NVFP4 file all loading; the Gemma-4 12B text tower with
its embedded tokenizer, token-exact against HuggingFace on the shipped
262144-entry vocab; and a typed prompt reaching cross-attention through the
connector. Reachable as video family `ltx-2.5` through the C ABI (v18, 36
exports), the `ltx2-gen` example and the server's /v1/videos, which registers
family-agnostically.
WHAT IS OWED, stated because a reader will otherwise over-read the above. The
320x192/25f render IS a coherent scene but was REGISTER-conditioned -- synthetic
N(0, 0.2) input with 104 of 128 rows the connector's own trained
learnable_registers -- so it is the checkpoint's learned default reached through
the real connector, not a depiction of a prompt. The typed-prompt path is gated
on a reduced-dimension synthetic fixture; a real-checkpoint prompted render has
never been run, in either direction. The conditioning composition has NO value
oracle: scaling it x1.5 or reversing its rows still passes every assertion, so
`last_conditioning()` is a change detector and says so. The shipped NVFP4 tower's
output is never compared to an independent oracle. Speed is structurally PENDING:
vLLM-Omni carries no native 2.5 and its diffusers adapter is a black box, so no
production-configuration denominator exists.
ALSO FIXED, found while building the above. The shared scratch pool was
DEVICE-BLIND: one process-wide free list held blocks from every backend, so
CUDA->CPU was a SIGSEGV and CPU->CUDA was SILENT -- a uniform 0x7fff0000 all-NaN
no token gate can see (#516, and #486 is the same bug). A DevicePool is now bound
to one backend at construction and the no-argument accessors are REMOVED, which
is what caught a live instance of the same defect landing in this very campaign.
VERIFIED. Local: clean from-scratch Release build, zero warnings, 423/423 with
the run's own denominator asserted against `ctest -N`. dgx.casa (GB10, sm_121a
confirmed by cuobjdump on the binary, every fast-path arm enabled): 453 of 453
tests RAN under one `flock $HOME/gpu.lock` held 14:36:09Z-15:29:37Z; 9 failures,
all nine drawn from the pre-existing set tracked as #233/#248/#305/#614, no new
failure; test_minimax_h3 Passed 19.02s where it previously SEGFAULTed, and
test_device_pool and all seven LTX suites pass.
Issue: #435, #516, #486
FOLLOWING_AGENTS_PROTOCOL
Following-Agents-Protocol: true
AI-Assisted: true
Assisted-by: AGENT:claude-opus-5 [Claude Code]
1 parent a20cdac commit cefacd2
142 files changed
Lines changed: 77965 additions & 458 deletions
File tree
- .agents
- claims
- specs
- docs
- examples
- ltx2_gen
- include
- vllm
- model_executor
- model_loader
- models
- multimodal
- tokenizer
- transformers_utils
- vt
- scripts
- src
- capi
- vllm
- entrypoints/openai
- model_executor
- model_loader
- models
- multimodal
- tokenizer
- transformers_utils
- vt
- cpu
- cuda
- metal
- tests
- capi
- scripts
- support
- vllm
- models
- multimodal
- vt
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
780 | 780 | | |
781 | 781 | | |
782 | 782 | | |
| 783 | + | |
| 784 | + | |
| 785 | + | |
| 786 | + | |
| 787 | + | |
| 788 | + | |
| 789 | + | |
| 790 | + | |
| 791 | + | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
783 | 813 | | |
784 | 814 | | |
785 | 815 | | |
| |||
883 | 913 | | |
884 | 914 | | |
885 | 915 | | |
| 916 | + | |
| 917 | + | |
| 918 | + | |
| 919 | + | |
| 920 | + | |
| 921 | + | |
| 922 | + | |
| 923 | + | |
| 924 | + | |
886 | 925 | | |
887 | 926 | | |
888 | 927 | | |
| |||
1081 | 1120 | | |
1082 | 1121 | | |
1083 | 1122 | | |
| 1123 | + | |
1084 | 1124 | | |
1085 | 1125 | | |
1086 | 1126 | | |
| |||
1487 | 1527 | | |
1488 | 1528 | | |
1489 | 1529 | | |
1490 | | - | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
1491 | 1533 | | |
1492 | 1534 | | |
1493 | 1535 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
186 | 186 | | |
187 | 187 | | |
188 | 188 | | |
189 | | - | |
| 189 | + | |
190 | 190 | | |
191 | 191 | | |
192 | 192 | | |
| |||
385 | 385 | | |
386 | 386 | | |
387 | 387 | | |
388 | | - | |
| 388 | + | |
389 | 389 | | |
390 | 390 | | |
391 | 391 | | |
| |||
0 commit comments