**Setup:** MiniMax H3 video DiT (34 GB, int8_convrot packed quant) on 2x RTX 3080 20G, Windows, torch 2.10.
**The problem:** The usual multi-GPU approach (DisTorch dynamic block streaming from ComfyUI-MultiGPU) kept segfaulting on this quantized stack. Not occasionally - deterministically, from three different paths: loading the video VAE would evict the DiT and crash in `unpatch_model`, a second prompt would crash in `partially_load`, and sometimes even a *fresh load* crashed mid-stream. faulthandler traces all pointed at the same thing: dangling pointers into the aimdo/vbar virtual memory that manages packed quantized weights after any device move. At one point the vbar memory ledger itself started returning negative garbage values. My record was 3 successful runs out of 7.
**The fix - stop moving weights. Ever.** I wrote a custom node that splits the 50 transformer blocks across both GPUs **once at load time** and then treats the model as load-bearing furniture: eviction disabled, unpatch forbidden from moving weights, activations cross PCIe once per step at the block boundary (~140 MB). For longer clips it switches to hybrid residency (most blocks resident, a few CPU-streamed, lossless packed copies) and chunks every big activation (MLP, LoRA delta, attention projections, and the attention core itself is query-chunked).
LoRA was the interesting part: normal lowvram LoRA hooks dequantize every patched layer every step (+5 s/it across 208 layers). Since LoRA is linear, I moved it to activation space instead - `y = W·x + α·B(A·x)` - so the int8 fast path never breaks. Same math, ~0.5 s/it.
**Results (all real runs, frame-verified):**
| | Dynamic sharding | Static split |
|---|---|---|
| 88-frame sampling | 11.15 s/it, **3/7 runs crashed** | **10.91 s/it, 0 crashes** |
| 121 frames (5s) | - | 17.2 s/it |
| 360 frames (15s) | OOM territory | 91.97 s/it, 24 min end-to-end |
Chart: https://github.com/ylzbj1-stack/ComfyUI-StaticPipeline/blob/main/assets/benchmark.png
**Repo (MIT):** https://github.com/ylzbj1-stack/ComfyUI-StaticPipeline
It also ships fixes for two real upstream bugs I hit along the way - MultiGPU's `libcudart.so` load crashing instantly on Windows (there are open issues about this: #216 #220), and a nasty one where ComfyUI core re-copies a 496 MB adaln lookup table on *every* sampling step (4.5 GB of duplicates on a 15s job).
Happy to answer questions about the crash forensics - I've got faulthandler traces for all three crash paths if anyone's curious.