Skip to content

Segmented Checkpointing

Segmented checkpointing हर block को checkpoint करने और कोई checkpointing न करने के बीच का mode है।

यह PyTorch का activation checkpointing उपयोग करता है। SimpleTuner लगातार Transformer blocks के समूह को एक checkpoint कॉल में चलाता है और लौटे hidden state को अगले समूह तक पहुँचाता है। बड़े समूह कम boundary states सहेजते हैं, लेकिन backward में checkpoint किए गए blocks की गणना फिर भी दोहराते हैं; गति और अधिकतम मेमोरी पर प्रभाव मापें।

CPU offload और FFN-only checkpointing के लिए Unsloth-style checkpointing देखें। छोटी rule of thumb Decision Rule में है।

Controls

{
  "gradient_checkpointing": true,
  "gradient_checkpointing_backend": "torch",
  "gradient_checkpointing_interval": 2
}

Supported whole-block paths पर gradient_checkpointing_interval segment width है। 2 का मतलब blocks 0-1, 2-3, 4-5 वगैरह checkpoint होंगे।

ज्यादा fine VRAM control के लिए stride जोड़ें:

{
  "gradient_checkpointing": true,
  "gradient_checkpointing_backend": "torch",
  "gradient_checkpointing_interval": 2,
  "gradient_checkpointing_segment_stride": 4
}

यह blocks 0-1 checkpoint करता है, 2-3 normal चलाता है, 4-5 checkpoint करता है, 6-7 normal चलाता है, और repeat करता है। stride कम से कम interval जितना होना चाहिए; overlapping schedules valid नहीं हैं।

Supported segmented whole-block paths: Flux.1, Flux.2, Flux.3 Image Klein, HunyuanVideo, Krea 2, LongCat Image, LongCat Video, LTXVideo 0.9, LTXVideo2, Lumina2, MageFlow, MiniMax H3, PixArt, Qwen Image 2.1, SD3, SanaVideo, Z-Image, ZLab I1, और Wan।

Stable Cascade stage C भी interval और stride support करता है, लेकिन schedule transformer whole-block groups की जगह UNet के Res/Timestep/Attention micro-block sequence पर apply होता है।

कुछ model families पुराने semantics use करते हैं:

Family gradient_checkpointing_interval gradient_checkpointing_segment_stride
Sana हर N-th block checkpoint Ignore
Stable Cascade stage C interval से UNet micro-blocks checkpoint stride checkpointed और non-checkpointed UNet micro-block windows alternate करता है
SD1x, SDXL segmented whole-block support नहीं Ignore

जहां stride ignore होता है, वहां stride rows compare न करें। अगर numbers identical दिखें, तो usually option apply नहीं हुआ।

कब इस्तेमाल करें

जब normal per-block checkpointing fit हो जाए लेकिन step time बहुत महंगा हो, तब इसे इस्तेमाल करें। 2 से शुरू करें। अगर VRAM allow करे, बहुत deep models पर 2 with stride 4 try करें।

जब peak मुख्य रूप से trainable weights, optimizer state, validation, VAE caching, block swapping, या routing से हो, तो इससे मदद की उम्मीद न करें। जब model feature को per-block control चाहिए, SimpleTuner safer per-block path पर वापस जाता है।

dynamo_use_regional_compilation universal win नहीं है। कुछ image models पर यह helpful या neutral था, लेकिन नीचे Wan/RamTorch और LTXVideo2 profiles में खराब fit था।

Benchmarks

Real SimpleTuner examples से single-GPU H100, H200 और L40S pods पर measure किया गया। validation और checkpoint saves disabled थे, cache preparation exclude था, और post-warmup timing available होने पर train loop के first-step compile/setup को भी exclude किया गया।

हर measured cell post-warmup sec/step / peak VRAM GiB है। status-only cells का मतलब है: OOM GPU memory खत्म होना, failed measured training steps तक न पहुंचना, unsupported उस family में option wired न होना, और not run उस combination का sweep में न होना।

पहले एक ही family के अंदर modes compare करें। Cross-family comparison rough है क्योंकि resolution, frame count, attention backend, model depth, trainable adapter type, और dataset shape अलग हो सकते हैं।

नीचे की matrix इस sweep की source of truth है। Model-specific notes caveats बताते हैं जब कोई row recommendation के बजाय coverage data हो।

Family Sweep Results

ACE Step 1.5

Example: ace_step/v15-base/default/v1-5.peft-lora. Resolution: 512.

Note: This sweep did not produce a usable ACE Step throughput row. The status-only entries below should be treated as coverage gaps, not as a recommendation.

Precision Mode H100 L40S
bf16 none OOM OOM
bf16 activation-offload unsupported unsupported
bf16 layer OOM OOM
bf16 interval2 OOM OOM
bf16 seg2-stride4 OOM OOM
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none OOM OOM
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer OOM OOM
int8-sdnq-hadamard interval2 OOM OOM
int8-sdnq-hadamard seg2-stride4 OOM OOM
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none OOM OOM
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer OOM OOM
fp8-torchao interval2 OOM OOM
fp8-torchao seg2-stride4 OOM OOM
fp8-torchao seg2-stride4-offload unsupported unsupported

Anima पर AnyFlow Distillation

Example: anima/base-v1.0/default/anyflow-stage1.peft-lora। Resolution: 1024x1024। यह row Anima के साथ AnyFlow distillation मापती है, plain Anima LoRA example नहीं। plain 1024x1024 Anima image training के लिए anima/base-v1.0/default/peft-lora use करें।

Precision Mode H100 L40S
bf16 none 1.022 / 17.26 0.719 / 17.21
bf16 activation-offload unsupported unsupported
bf16 layer 1.232 / 5.60 0.903 / 5.56
bf16 interval2 1.252 / 5.60 0.897 / 5.56
bf16 seg2-stride4 1.244 / 5.60 0.898 / 5.56
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 5.417 / 18.61 4.974 / 18.57
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 4.562 / 4.36 4.019 / 4.31
int8-sdnq-hadamard interval2 3.723 / 4.36 3.196 / 4.31
int8-sdnq-hadamard seg2-stride4 3.658 / 4.36 3.140 / 4.31
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none 2.242 / 45.71 OOM
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer 2.810 / 5.51 2.576 / 5.46
fp8-torchao interval2 2.846 / 5.51 2.581 / 5.46
fp8-torchao seg2-stride4 2.766 / 5.51 2.567 / 5.46
fp8-torchao seg2-stride4-offload unsupported unsupported

AuraFlow

Example: auraflow/v0.3/default/peft-lora. Resolution: 1024x1024.

Note: AuraFlow SDNQ और TorchAO quantization support करता है। Quantized none rows नीचे हैं; quantized checkpoint rows में numbers डालने से पहले fresh full-length benchmark coverage चाहिए।

Precision Mode H100 L40S
bf16 none 0.180 / 19.19 0.233 / 19.12
bf16 activation-offload unsupported unsupported
bf16 layer 1.824 / 13.37 0.833 / 13.32
bf16 interval2 1.764 / 16.21 0.877 / 16.14
bf16 seg2-stride4 1.771 / 16.21 0.887 / 16.14
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 0.642 / 12.88 0.610 / 12.87
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer not run not run
int8-sdnq-hadamard interval2 not run not run
int8-sdnq-hadamard seg2-stride4 not run not run
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none 0.621 / 24.53 0.757 / 24.44
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer not run not run
fp8-torchao interval2 not run not run
fp8-torchao seg2-stride4 not run not run
fp8-torchao seg2-stride4-offload unsupported unsupported

Boogu Image

Example: boogu_image/v0.1-base/default/peft-lora. Resolution: 1024x1024.

Precision Mode H100 L40S
bf16 none 0.694 / 59.14 OOM
bf16 activation-offload unsupported unsupported
bf16 layer 0.907 / 23.44 2.641 / 23.39
bf16 interval2 0.912 / 23.44 2.649 / 23.39
bf16 seg2-stride4 0.911 / 23.44 2.648 / 23.39
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 1.488 / 53.24 OOM
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 1.878 / 15.20 3.309 / 15.15
int8-sdnq-hadamard interval2 1.630 / 34.12 2.577 / 34.07
int8-sdnq-hadamard seg2-stride4 1.656 / 34.11 2.574 / 34.06
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none OOM OOM
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer 1.713 / 18.48 3.778 / 18.44
fp8-torchao interval2 1.731 / 18.48 3.777 / 18.44
fp8-torchao seg2-stride4 1.721 / 18.48 3.779 / 18.44
fp8-torchao seg2-stride4-offload unsupported unsupported

Chroma

Example: chroma/default/default/peft-lora. Resolution: 1024x1024.

Note: Checkpointed Chroma rows use attention_mechanism=native-efficient, which was the stable attention path for this sweep.

Precision Mode H100 L40S
bf16 none 0.454 / 26.18 0.559 / 26.13
bf16 activation-offload 4.873 / 18.74 4.793 / 18.69
bf16 layer 1.276 / 17.67 1.430 / 17.63
bf16 interval2 1.204 / 21.80 1.349 / 21.75
bf16 seg2-stride4 1.200 / 21.78 1.382 / 21.74
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 1.083 / 21.42 1.061 / 21.37
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 1.714 / 10.41 1.646 / 10.36
int8-sdnq-hadamard interval2 1.443 / 15.72 1.391 / 15.68
int8-sdnq-hadamard seg2-stride4 1.428 / 15.71 1.323 / 15.67
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none 1.122 / 45.44 OOM
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer 1.821 / 10.64 2.104 / 10.60
fp8-torchao interval2 1.447 / 27.49 1.871 / 27.44
fp8-torchao seg2-stride4 1.431 / 27.49 1.877 / 27.44
fp8-torchao seg2-stride4-offload unsupported unsupported

Cosmos 2 Image

Example: cosmos/default/default/lycoris-lokr. Resolution: 512x512.

Precision Mode H100 L40S
bf16 none 0.336 / 8.05 0.316 / 8.00
bf16 activation-offload unsupported unsupported
bf16 layer 0.567 / 4.09 0.559 / 4.04
bf16 interval2 0.595 / 4.09 0.544 / 4.04
bf16 seg2-stride4 0.598 / 4.09 0.546 / 4.04
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 0.831 / 6.56 0.783 / 6.56
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 1.315 / 2.44 1.288 / 2.39
int8-sdnq-hadamard interval2 1.346 / 2.44 1.321 / 2.39
int8-sdnq-hadamard seg2-stride4 1.413 / 2.44 1.274 / 2.39
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none 0.850 / 13.30 0.840 / 13.25
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer 1.692 / 2.70 1.560 / 2.65
fp8-torchao interval2 1.626 / 2.70 1.544 / 2.65
fp8-torchao seg2-stride4 1.607 / 2.70 1.555 / 2.65
fp8-torchao seg2-stride4-offload unsupported unsupported

Cosmos 3

Example: cosmos3/edge/24g/image.lycoris-lokr. Resolution: 1024 px.

Precision Mode H100 L40S
bf16 none 2.747 / 8.90 2.904 / 8.86
bf16 activation-offload unsupported unsupported
bf16 layer 2.602 / 8.90 2.606 / 8.86
bf16 interval2 2.658 / 8.90 2.567 / 8.86
bf16 seg2-stride4 2.628 / 8.90 2.899 / 8.86
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 17.112 / 6.21 17.965 / 6.16
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 3.238 / 6.21 2.891 / 6.16
int8-sdnq-hadamard interval2 3.253 / 6.21 2.916 / 6.16
int8-sdnq-hadamard seg2-stride4 3.254 / 6.21 2.923 / 6.16
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none 1.849 / 17.84 1.559 / 17.80
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer 1.869 / 17.84 1.599 / 17.79
fp8-torchao interval2 1.855 / 17.84 1.600 / 17.80
fp8-torchao seg2-stride4 1.859 / 17.84 1.523 / 17.80
fp8-torchao seg2-stride4-offload unsupported unsupported

ERNIE 4.5 Image

Example: ernie/base/default/peft-lora. Resolution: 512x512.

Precision Mode H100 L40S
bf16 none 0.711 / 15.61 1.282 / 15.56
bf16 activation-offload unsupported unsupported
bf16 layer 1.110 / 4.94 1.840 / 4.90
bf16 interval2 0.876 / 10.16 1.536 / 10.12
bf16 seg2-stride4 0.874 / 10.16 1.532 / 10.12
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 2.782 / 13.75 2.722 / 13.70
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 4.262 / 2.98 4.393 / 2.94
int8-sdnq-hadamard interval2 3.547 / 8.26 3.380 / 8.21
int8-sdnq-hadamard seg2-stride4 3.366 / 8.26 3.457 / 8.21
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none 2.432 / 14.03 2.303 / 13.98
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer 3.920 / 3.26 4.008 / 3.22
fp8-torchao interval2 3.316 / 8.54 2.973 / 8.49
fp8-torchao seg2-stride4 2.994 / 8.54 3.046 / 8.49
fp8-torchao seg2-stride4-offload unsupported unsupported

Flux.3 Image Klein

उदाहरण: flux3_image/klein-base/default/peft-lora, Klein Base। प्रशिक्षण: 512x512 center crops, batch 1, rank/alpha 32 attention LoRA, BF16 AdamW, native SDPA और regional Inductor compilation (default, C++ wrapper)। CREPA और assistant adapter बंद हैं। हर मापी गई पंक्ति में 30 updates हैं; step time में पहले पाँच updates और cache preparation शामिल नहीं हैं। VRAM प्रशिक्षण updates के दौरान PyTorch की peak allocated memory है।

Dataset: RareConcepts/Domokun, 27 images। स्थिर caption: a photograph of a toy character (80 cached text tokens)।

PyTorch 2.14.1+cu130; Diffusers 0.41.0; Transformers 5.20.1; PEFT 0.21.2; Accelerate 1.15.0; SDNQ 0.2.8; TorchAO 0.17.0+cu130. dynamo_dynamic=true.

Image, text, reference-image और joint stream की block sequences अलग-अलग segment होती हैं। interval2 लगातार दो blocks को एक साथ checkpoint करता है; seg2-stride4 दो blocks checkpoint करता है और अगले दो की activations रखता है। Hidden-state capture per-block path इस्तेमाल करता है। Attention activation offload समर्थित नहीं है।

Precision Mode H100 L40S
bf16 none 0.159 / 13.69 0.231 / 13.65
bf16 activation-offload unsupported unsupported
bf16 layer 0.265 / 11.05 0.302 / 11.01
bf16 interval2 0.249 / 11.04 0.298 / 11.00
bf16 seg2-stride4 0.209 / 12.26 0.270 / 12.22
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 0.189 / 12.39 0.267 / 12.35
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 0.340 / 6.34 0.349 / 6.31
int8-sdnq-hadamard interval2 0.277 / 6.34 0.344 / 6.31
int8-sdnq-hadamard seg2-stride4 0.232 / 9.14 0.301 / 9.10
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none 0.195 / 10.39 0.250 / 10.33
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer 0.325 / 6.20 0.330 / 6.15
fp8-torchao interval2 0.302 / 6.15 0.331 / 6.09
fp8-torchao seg2-stride4 0.252 / 8.10 0.288 / 8.05
fp8-torchao seg2-stride4-offload unsupported unsupported
fp8wo-torchao none 0.181 / 16.74 0.258 / 16.69
fp8wo-torchao activation-offload unsupported unsupported
fp8wo-torchao layer 0.285 / 6.09 0.364 / 6.04
fp8wo-torchao interval2 0.265 / 6.30 0.368 / 6.25
fp8wo-torchao seg2-stride4 0.221 / 11.17 0.297 / 11.12
fp8wo-torchao seg2-stride4-offload unsupported unsupported

HeartMula

Example: heartmula/3b/default/peft-lora. Audio-token training.

Precision Mode H100 L40S
bf16 none failed failed
bf16 activation-offload unsupported unsupported
bf16 layer failed failed
bf16 interval2 unsupported unsupported
bf16 seg2-stride4 unsupported unsupported
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none OOM OOM
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer failed failed
int8-sdnq-hadamard interval2 unsupported unsupported
int8-sdnq-hadamard seg2-stride4 unsupported unsupported
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none failed failed
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer failed failed
fp8-torchao interval2 unsupported unsupported
fp8-torchao seg2-stride4 unsupported unsupported
fp8-torchao seg2-stride4-offload unsupported unsupported

HiDream

Example: hidream/full/default/peft-lora. Resolution: 512x512.

Precision Mode H100 L40S
bf16 none 0.515 / 44.58 OOM
bf16 activation-offload unsupported unsupported
bf16 layer 0.928 / 33.57 1.043 / 33.52
bf16 interval2 0.971 / 33.57 1.002 / 33.52
bf16 seg2-stride4 0.952 / 33.57 1.010 / 33.52
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none not measured not measured
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 2.497 / 17.99 2.058 / 17.93
int8-sdnq-hadamard interval2 unsupported unsupported
int8-sdnq-hadamard seg2-stride4 unsupported unsupported
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none not measured not measured
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer 4.920 / 18.10 4.338 / 18.05
fp8-torchao interval2 unsupported unsupported
fp8-torchao seg2-stride4 unsupported unsupported
fp8-torchao seg2-stride4-offload unsupported unsupported

SDNQ Hadamard numbers use sdnq_compile_mode=eager. The compiled SDNQ path quantizes HiDream, but this sweep spent the first training step in Inductor dequantizer compilation, so it is not listed as a throughput row.

HunyuanVideo

Example: hunyuanvideo/t2v-480p/default/1.5-t2v.peft-lora. Training shape: 480 pixel-area video buckets, 48 frames, batch 2.

Precision Mode H100 L40S
bf16 none OOM OOM
bf16 activation-offload not run not run
bf16 layer 7.682 / 26.35 22.816 / 26.30
bf16 interval2 7.398 / 26.11 22.772 / 26.06
bf16 seg2-stride4 OOM OOM
bf16 seg2-stride4-offload 10.679 / 58.37 not run
int8-sdnq-hadamard none not run not run
int8-sdnq-hadamard activation-offload not run not run
int8-sdnq-hadamard layer 11.765 / 25.96 34.464 / 25.92
int8-sdnq-hadamard interval2 not run not run
int8-sdnq-hadamard seg2-stride4 not run not run
int8-sdnq-hadamard seg2-stride4-offload not run not run
fp8-torchao none not run not run
fp8-torchao activation-offload not run not run
fp8-torchao layer 10.516 / 33.55 32.003 / 33.53
fp8-torchao interval2 not run not run
fp8-torchao seg2-stride4 not run not run
fp8-torchao seg2-stride4-offload not run not run

HunyuanVideo इस training shape पर activation-heavy है। Per-block और interval-2 checkpointing साफ चलते हैं; checkpointing बंद करने पर 80 GB H100 भी पर्याप्त नहीं है। seg2-stride4 इस sweep में attention activation offload के साथ ही चला, इसलिए वह speed recommendation नहीं बल्कि memory fallback है। SDNQ Hadamard काम करता है, लेकिन variable conditioning shapes measurement window में भी dynamic kernel compilation trigger करते हैं।

Ideogram 4.0

Example: ideogram/fp8/default/peft-lora. Resolution: 1024x1024. fp8 flavour Ideogram 4 के native weight-only fp8 checkpoint का उपयोग करता है (base_model_precision=no_change); bf16-upcast ideogram_fp8_base_upcast=true सेट करता है ताकि load पर base weights को bf16 में dequantize किया जाए। कोई भी अन्य base_model_precision (जैसे int8-sdnq) मांगने पर भी पहले dequantize होता है, ताकि quantizer असली weights पर काम करे।

इस table के पहले के संस्करण तब मापे गए थे जब Ideogram gradient_checkpointing_interval, gradient_checkpointing_segment_stride या gradient_checkpointing_backend को लागू नहीं करता था (उसका custom loader साझा wiring छोड़ देता था), और जब int8-sdnq वास्तव में fp8 checkpoint को quantize नहीं करता था — सभी checkpointing rows चुपचाप fp8-native weights पर full-layer torch checkpointing थीं। नीचे के H100 आंकड़े fix के बाद के हैं; L40S rows की re-measurement बाकी है।

torch-ffn/unsloth-ffn backends unsupported हैं: Ideogram 4 attention/FFN checkpointing boundary expose नहीं करता।

Precision Mode Backend H100 speed (s/step) H100 VRAM (GiB)
fp8-native layer torch 1.068 12.33
fp8-native layer unsloth 1.098 11.17
fp8-native seg2-stride4 torch 0.915 36.28
fp8-native seg2-stride4 unsloth 0.929 35.70
bf16-upcast layer torch 0.962 20.51
bf16-upcast layer unsloth 0.992 19.35
bf16-upcast seg2-stride4 torch 0.842 36.85
bf16-upcast seg2-stride4 unsloth 0.848 36.27
int8-sdnq-hadamard layer torch 1.735 11.88
int8-sdnq-hadamard layer unsloth 1.535 10.72
int8-sdnq-hadamard seg2-stride4 torch 0.981 28.19
int8-sdnq-hadamard seg2-stride4 unsloth 0.992 27.61

निष्कर्ष: seg2-stride4 full-layer से ~14% तेज है, बदले में ~24 GiB अधिक retained activations लगती हैं; unsloth offload ~1.2 GiB बचाता है और step-time में 1-3% की लागत आती है (int8 full-layer में यह torch से तेज है, क्योंकि offload quantized matmul के साथ overlap होता है); VRAM अनुमति दे तो bf16-upcast throughput का विजेता है।

Kandinsky 5 Image

Example: kandinsky5_image/default/default/6b-t2i.lycoris-lokr. Resolution: 1024x1024.

Note: batch 3 at 1024x1024 needs full checkpointing on both cards. SDNQ with Hadamard is the best low-VRAM row; H100 can also use partial checkpointing with SDNQ, but only near the top of the card.

Precision Mode H100 L40S
bf16 none OOM OOM
bf16 activation-offload 6.956 / 25.52 10.189 / 25.42
bf16 layer 6.590 / 25.58 9.458 / 25.55
bf16 interval2 OOM OOM
bf16 seg2-stride4 OOM OOM
bf16 seg2-stride4-offload OOM OOM
int8-sdnq-hadamard none OOM OOM
int8-sdnq-hadamard activation-offload 7.186 / 20.00 10.141 / 19.95
int8-sdnq-hadamard layer 6.830 / 20.12 9.362 / 20.08
int8-sdnq-hadamard interval2 5.746 / 75.67 OOM
int8-sdnq-hadamard seg2-stride4 OOM OOM
int8-sdnq-hadamard seg2-stride4-offload 6.057 / 71.46 OOM
fp8-torchao none OOM OOM
fp8-torchao activation-offload 8.319 / 24.29 14.716 / 24.24
fp8-torchao layer 7.976 / 24.40 13.949 / 24.35
fp8-torchao interval2 OOM OOM
fp8-torchao seg2-stride4 OOM OOM
fp8-torchao seg2-stride4-offload OOM OOM

Kandinsky 5 Video

Example: kandinsky5_video/default/default/2b-t2v.peft-lora. Resolution: 768x512, 81f.

Kandinsky 5 video is activation-heavy at this frame count. Full block checkpointing is the practical baseline on both cards. On H100, interval2 and seg2-stride4 are faster when they fit; on L40S, SDNQ interval2 is the only partial-checkpoint row here that fits without attention activation offload.

Precision Mode H100 L40S
bf16 none OOM OOM
bf16 activation-offload 2.580 / 9.49 7.136 / 9.45
bf16 layer 2.267 / 9.83 6.379 / 9.79
bf16 interval2 1.967 / 44.57 OOM
bf16 seg2-stride4 1.971 / 46.62 OOM
bf16 seg2-stride4-offload 2.275 / 37.99 6.249 / 37.94
int8-sdnq-hadamard none OOM OOM
int8-sdnq-hadamard activation-offload 2.844 / 8.07 7.234 / 8.02
int8-sdnq-hadamard layer 2.460 / 8.40 6.509 / 8.35
int8-sdnq-hadamard interval2 2.126 / 43.12 5.641 / 43.08
int8-sdnq-hadamard seg2-stride4 2.125 / 45.19 OOM
int8-sdnq-hadamard seg2-stride4-offload 2.451 / 36.56 6.322 / 36.51
fp8-torchao none OOM OOM
fp8-torchao activation-offload 3.867 / 15.11 11.501 / 15.06
fp8-torchao layer 3.579 / 15.28 10.822 / 15.24
fp8-torchao interval2 OOM OOM
fp8-torchao seg2-stride4 OOM OOM
fp8-torchao seg2-stride4-offload OOM OOM

Kolors

Example: kolors/1.0/default/peft-lora. Resolution: 1024x1024.

Precision Mode H100 L40S
bf16 none 0.635 / 7.22 0.628 / 7.17
bf16 activation-offload unsupported unsupported
bf16 layer 1.118 / 5.36 1.065 / 5.31
bf16 interval2 1.105 / 5.36 1.068 / 5.31
bf16 seg2-stride4 1.110 / 5.36 1.072 / 5.31
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 1.860 / 5.68 1.726 / 5.63
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 2.967 / 3.38 2.803 / 3.33
int8-sdnq-hadamard interval2 2.770 / 3.32 2.655 / 3.27
int8-sdnq-hadamard seg2-stride4 2.805 / 3.32 2.742 / 3.27
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none 1.629 / 8.79 1.637 / 8.75
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer 3.044 / 3.50 3.013 / 3.45
fp8-torchao interval2 3.040 / 3.50 3.019 / 3.45
fp8-torchao seg2-stride4 2.988 / 3.50 2.935 / 3.45
fp8-torchao seg2-stride4-offload unsupported unsupported

Krea 2

Example: krea2/raw/default/peft-lora. Training resolution: 512 px square crop. Example validation setting: 1024x1024; benchmark में validation disabled था.

Main table regional compilation use करती है। यह Krea2 step speed के लिए अच्छा है, लेकिन VRAM comparison साफ नहीं रहता: compiled graph/workspace कई checkpoint modes में peak को uncheckpointed peak के करीब रखता है। regional compilation बंद करके bf16 control run ने दिखाया कि checkpointing wired है और memory/speed shape expected है:

यहां activation-offload row का मतलब full-block checkpointing plus attention activation offload है। सिर्फ full-block layer checkpointing के मुकाबले, इस Krea2 shape में attention offload ने peak VRAM घटाया नहीं; इसने mostly CPU transfer overhead जोड़ा।

Mode H100 no-compile L40S no-compile
none 0.272 / 40.09 0.661 / 40.01
layer 0.371 / 30.06 0.919 / 30.01
seg2-stride4 0.317 / 34.75 0.788 / 34.70
activation-offload 0.657 / 30.50 1.341 / 30.30
Precision Mode H100 L40S
bf16 none 0.275 / 40.06 0.662 / 40.01
bf16 activation-offload 0.416 / 34.62 0.822 / 34.57
bf16 layer 0.268 / 40.06 0.665 / 40.01
bf16 interval2 0.274 / 40.06 0.663 / 40.01
bf16 seg2-stride4 0.279 / 40.06 0.663 / 40.01
bf16 seg2-stride4-offload 0.404 / 34.62 0.819 / 34.57
int8-sdnq-hadamard none 0.462 / 27.01 0.807 / 26.96
int8-sdnq-hadamard activation-offload 0.773 / 21.57 1.012 / 21.53
int8-sdnq-hadamard layer 0.473 / 27.01 0.802 / 26.96
int8-sdnq-hadamard interval2 0.474 / 27.01 0.804 / 26.96
int8-sdnq-hadamard seg2-stride4 0.472 / 27.01 0.802 / 26.96
int8-sdnq-hadamard seg2-stride4-offload 0.744 / 21.57 1.007 / 21.53
fp8-torchao none 0.689 / 51.63 OOM
fp8-torchao activation-offload 0.975 / 37.77 2.058 / 37.73
fp8-torchao layer 0.689 / 51.63 OOM
fp8-torchao interval2 0.684 / 51.63 OOM
fp8-torchao seg2-stride4 0.674 / 51.63 OOM
fp8-torchao seg2-stride4-offload 0.965 / 37.77 2.053 / 37.73

LongCat Image

Example: longcat_image/default/default/peft-lora. Training resolution: 512 px square; validation resolution: 1024x1024. Rows use attention_mechanism=native-flash.

Precision Mode H100 L40S
bf16 none 0.193 / 16.47 0.262 / 16.42
bf16 activation-offload 0.544 / 12.73 0.543 / 12.69
bf16 layer 0.327 / 12.38 0.370 / 12.34
bf16 interval2 0.257 / 14.38 0.313 / 14.34
bf16 seg2-stride4 0.263 / 14.36 0.316 / 14.31
bf16 seg2-stride4-offload 0.446 / 13.42 0.492 / 13.38
int8-sdnq-hadamard none 0.578 / 12.54 0.537 / 12.45
int8-sdnq-hadamard activation-offload 1.184 / 7.43 1.185 / 7.39
int8-sdnq-hadamard layer 0.901 / 7.19 0.911 / 7.09
int8-sdnq-hadamard interval2 0.718 / 9.73 0.695 / 9.68
int8-sdnq-hadamard seg2-stride4 0.735 / 9.72 0.717 / 9.68
int8-sdnq-hadamard seg2-stride4-offload 1.056 / 8.49 1.011 / 8.45
fp8-torchao none 0.602 / 25.19 0.834 / 25.14
fp8-torchao activation-offload 1.662 / 7.75 1.844 / 7.70
fp8-torchao layer 0.984 / 7.57 1.080 / 7.53
fp8-torchao interval2 0.750 / 16.15 0.938 / 16.10
fp8-torchao seg2-stride4 0.760 / 16.13 0.961 / 16.09
fp8-torchao seg2-stride4-offload 1.287 / 13.02 1.653 / 12.98

LongCat Video

Example: longcat_video/final/default/peft-lora+ramtorch. Resolution: 832x480, 81f. Rows attention_mechanism=native-flash use करते हैं।

LongCat Video इस shape पर activation-heavy है। Full per-block checkpointing practical row है। Partial checkpoint rows (interval2, seg2-stride4) यहाँ fit नहीं होते, strided row पर attention activation offload enabled होने पर भी नहीं। Plain attention activation offload bf16 और SDNQ में fit होता है, लेकिन full checkpointing से काफी धीमा है।

Precision Mode H100 L40S
bf16 none OOM (77.86 GiB) OOM (43.30 GiB)
bf16 activation-offload 25.774 / 37.36 49.149 / 37.14
bf16 layer 7.448 / 23.73 24.866 / 23.68
bf16 interval2 OOM (76.41 GiB) OOM (42.80 GiB)
bf16 seg2-stride4 OOM (76.42 GiB) OOM (43.06 GiB)
bf16 seg2-stride4-offload OOM (76.72 GiB) OOM (42.29 GiB)
int8-sdnq-hadamard none OOM (77.40 GiB) OOM (43.59 GiB)
int8-sdnq-hadamard activation-offload 30.887 / 35.28 61.270 / 35.24
int8-sdnq-hadamard layer 8.444 / 21.60 25.164 / 21.55
int8-sdnq-hadamard interval2 OOM (76.01 GiB) OOM (42.47 GiB)
int8-sdnq-hadamard seg2-stride4 OOM (77.01 GiB) OOM (43.02 GiB)
int8-sdnq-hadamard seg2-stride4-offload OOM (76.42 GiB) OOM (42.57 GiB)
fp8-torchao none OOM (75.87 GiB) OOM (41.28 GiB)
fp8-torchao activation-offload 30.163 / 47.88 OOM (40.11 GiB)
fp8-torchao layer 8.343 / 34.16 24.659 / 34.07
fp8-torchao interval2 OOM (74.63 GiB) OOM (40.85 GiB)
fp8-torchao seg2-stride4 OOM (75.37 GiB) OOM (41.19 GiB)
fp8-torchao seg2-stride4-offload OOM (75.55 GiB) OOM (40.94 GiB)

LTXVideo 0.9.5

Example: ltxvideo/0.9.5/default/t2v.peft-lora. Resolution: 768x512, 49f.

Numbers warm seconds/step / peak GiB हैं। full-run average setup और compile overhead include करता है, इसलिए वह sweep artifacts में रखा गया है।

Precision Mode H100 L40S
bf16 none 0.274 / 8.77 0.275 / 8.72
bf16 layer 0.462 / 4.21 0.459 / 4.16
bf16 interval2 0.449 / 4.30 0.433 / 4.25
bf16 seg2-stride4 0.359 / 6.40 0.357 / 6.35
int8-sdnq-hadamard none 0.688 / 7.05 0.640 / 6.90
int8-sdnq-hadamard layer 1.094 / 2.59 1.081 / 2.44
int8-sdnq-hadamard interval2 1.112 / 2.57 1.073 / 2.53
int8-sdnq-hadamard seg2-stride4 0.887 / 4.61 0.817 / 4.56
fp8-torchao none 0.655 / 17.45 0.735 / 17.41
fp8-torchao layer 1.226 / 2.94 1.206 / 2.89
fp8-torchao interval2 1.259 / 3.40 1.233 / 3.35
fp8-torchao seg2-stride4 0.933 / 9.96 0.901 / 9.91
fp8wo-torchao none 0.328 / 10.06 0.325 / 10.01
fp8wo-torchao layer 0.567 / 2.64 0.540 / 2.59
fp8wo-torchao interval2 0.555 / 2.84 0.531 / 2.79
fp8wo-torchao seg2-stride4 0.443 / 6.20 0.432 / 6.15

इस sweep में LTXVideo 0.9 के लिए attention activation offload rows supported नहीं हैं।

LTXVideo2 2.3

Example: ltxvideo2/2.3-dev/default/720p-single-gpu.peft-lora+sdnq-hadamard. Resolution: 1280x704, 49f.

Note: LTXVideo2 2.3 should be read from the no-regional-compile rows in this sweep; regional compile raised memory pressure for this model.

Precision Mode H100 L40S
bf16 none OOM OOM
bf16 activation-offload 6.350 / 58.36 OOM
bf16 layer 3.993 / 47.95 OOM
bf16 interval2 3.977 / 48.83 OOM
bf16 seg2-stride4 OOM OOM
bf16 seg2-stride4-offload 5.554 / 75.64 OOM
int8-sdnq-hadamard none OOM OOM
int8-sdnq-hadamard activation-offload 10.102 / 38.20 9.852 / 38.15
int8-sdnq-hadamard layer 7.753 / 27.78 7.579 / 27.73
int8-sdnq-hadamard interval2 7.733 / 28.66 7.288 / 28.61
int8-sdnq-hadamard seg2-stride4 6.522 / 61.50 OOM
int8-sdnq-hadamard seg2-stride4-offload 8.659 / 55.48 OOM
fp8-torchao none OOM OOM
fp8-torchao activation-offload failed 22.917 / 38.57
fp8-torchao layer 8.580 / 30.27 10.381 / 30.22
fp8-torchao interval2 8.660 / 33.71 10.661 / 33.66
fp8-torchao seg2-stride4 OOM OOM
fp8-torchao seg2-stride4-offload failed OOM

Lumina2

Example: lumina2/default/default/peft-lora. Resolution: 512x512.

Note: Lumina2 अब segmented whole-block path इस्तेमाल करता है। interval2 हर two-block segment को checkpoint करता है; seg2-stride4 दो blocks checkpoint करता है, अगले दो blocks को activations रखने देता है, फिर repeat करता है। Attention activation offload इस Lumina2 run में शामिल नहीं था।

Precision Mode H100 L40S
bf16 none 0.235 / 15.99 0.332 / 15.94
bf16 layer 0.384 / 6.60 0.457 / 6.56
bf16 interval2 0.356 / 6.87 0.424 / 6.82
bf16 seg2-stride4 0.295 / 11.43 0.377 / 11.38
int8-sdnq-hadamard none 0.584 / 13.59 0.541 / 13.55
int8-sdnq-hadamard layer 0.899 / 4.21 0.827 / 4.16
int8-sdnq-hadamard interval2 0.865 / 4.48 0.835 / 4.43
int8-sdnq-hadamard seg2-stride4 0.719 / 9.03 0.707 / 8.99
fp8-torchao none 0.598 / 28.03 0.763 / 27.98
fp8-torchao layer 0.950 / 5.93 0.967 / 5.88
fp8-torchao interval2 0.938 / 6.70 0.974 / 6.66
fp8-torchao seg2-stride4 0.765 / 17.36 0.901 / 17.32
fp8wo-torchao none 0.273 / 17.97 0.389 / 17.93
fp8wo-torchao layer 0.452 / 4.99 0.525 / 4.94
fp8wo-torchao interval2 0.427 / 5.40 0.522 / 5.35
fp8wo-torchao seg2-stride4 0.360 / 11.68 0.466 / 11.64

MageFlow

Example: mageflow/turbo/24g/image.peft-lora. Resolution: 1024x1024.

Note: MageFlow के 1024px variable-shape image path में सबसे ज्यादा फायदा attention activation offload और weight-only FP8 से मिला। Block checkpointing modes valid हैं, लेकिन इस sweep में measured peak residency कम नहीं हुई।

Precision Mode H100 L40S
bf16 none 7.735 / 36.74 7.658 / 36.69
bf16 activation-offload 8.902 / 23.05 9.477 / 23.00
bf16 layer 7.805 / 36.74 7.504 / 36.69
bf16 interval2 8.036 / 36.74 7.762 / 36.69
bf16 seg2-stride4 7.882 / 36.74 7.531 / 36.69
bf16 seg2-stride4-offload 8.833 / 23.05 9.288 / 23.01
int8-sdnq-hadamard none 81.016 / 37.38 94.991 / 37.34
fp8wo-torchao none 5.454 / 36.86 5.772 / 36.82
fp8wo-torchao activation-offload 6.295 / 23.18 6.738 / 23.14
fp8wo-torchao seg2-stride4 5.542 / 36.86 5.595 / 36.82

OmniGen

Example: omnigen/default/default/lycoris-lokr. Resolution: 1024x1024.

Note: OmniGen cached text embeddings की जगह token-ID prompts use करता है। ये rows supported no-checkpointing और full-block torch checkpointing paths को measure करती हैं; interval, segmented-stride, और attention-offload controls इस family के लिए इस sweep में implemented नहीं हैं।

Precision Mode H100 L40S
bf16 none 0.425 / 14.20 0.293 / 14.24
bf16 layer 0.597 / 10.13 0.389 / 10.09
int8-sdnq-hadamard none 1.523 / 11.00 1.388 / 11.06
int8-sdnq-hadamard layer 1.312 / 6.75 1.064 / 6.70
fp8-torchao none 0.690 / 19.25 0.608 / 19.30
fp8-torchao layer 1.069 / 7.09 0.824 / 7.04
fp8wo-torchao none 0.454 / 17.71 0.377 / 17.73
fp8wo-torchao layer 0.646 / 6.98 0.534 / 6.94

PixArt

Example: pixart/default/default/lycoris-lokr. Resolution: 1024x1024.

Precision Mode H100 L40S
bf16 none 1.700 / 41.73 1.734 / 41.67
bf16 activation-offload unsupported unsupported
bf16 layer 2.433 / 5.63 2.346 / 5.58
bf16 interval2 2.440 / 6.01 2.348 / 5.96
bf16 seg2-stride4 2.092 / 23.90 2.072 / 23.86
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 1.905 / 47.58 OOM
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 2.738 / 6.07 2.937 / 6.03
int8-sdnq-hadamard interval2 2.734 / 6.03 2.943 / 5.99
int8-sdnq-hadamard seg2-stride4 2.336 / 26.85 2.596 / 26.81
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none OOM OOM
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer 3.254 / 8.06 4.646 / 8.01
fp8-torchao interval2 3.260 / 9.66 4.649 / 9.61
fp8-torchao seg2-stride4 2.827 / 63.27 OOM
fp8-torchao seg2-stride4-offload unsupported unsupported

Qwen Image 2.1

GPU मॉडल की पुष्टि के बाद H200 और L40S पर माप लिया गया: qwen_image/v2.1/default/peft-lora, Qwen-Image 2.1, 512x512 Domokun, BF16, rank-32 LoRA, Optimi Lion और regional Inductor compilation (default मोड)। हर रन में 20 steps हैं; पहले पाँच timing से बाहर हैं। हर cell सेकंड/step / अधिकतम VRAM GiB दिखाता है; peak में components की तैयारी शामिल है।

Runtime: torch==2.11.0+cu128, diffusers==0.40.0; 10 text tokens और 1024 image tokens। Batch 1 में कुछ memory peaks components की तैयारी से तय होते हैं।

BF16 checkpoint schedules

none checkpointing बंद करता है; layer हर block पर अलग checkpoint लगाता है। interval2 लगातार 0–1, 2–3, … blocks को समूह बनाता है; seg2-stride4 में 0–1 checkpoint होते हैं, 2–3 की activations रखी जाती हैं और क्रम दोहरता है। समूह execution के लिए block swapping, hidden-state capture और KV cache बंद होने चाहिए; उन paths पर प्रति-block interval/stride schedule बना रहता है। Attention activation offload (activation-offload, seg2-stride4-offload) समर्थित नहीं है। BF16 फिट होता है, इसलिए इस 2.1 sweep में quantization शामिल नहीं है।

मोड H200, batch 1 H200, batch 20 L40S, batch 1
none 0.081 / 20.99 1.223 / 128.42 0.238 / 20.64
layer 0.206 / 17.69 1.773 / 24.19 0.368 / 17.60
interval2 0.190 / 17.69 1.761 / 25.14 0.371 / 17.60
seg2-stride4 0.116 / 17.77 1.490 / 73.26 0.290 / 17.60

Attention backends

Attention तुलना में checkpointing बंद है। Default native SDPA ने H200 पर cuDNN और L40S पर PyTorch Flash SDPA चुना। Qwen 2.1 text के लिए causal attention और target image के लिए सभी valid keys पर noncausal attention उपयोग करता है। समान लंबाई वाले बिना padding के prompts को varlen की ज़रूरत नहीं है। वर्तमान FlashAttention paths को बिना padding के text-to-image prompts चाहिए; padded prompts या interleaved conditioning के लिए native SDPA या FlexAttention उपयोग करें। केवल padding बताने वाला varlen mask उस causal संरचना को सुरक्षित नहीं रख सकता।

attention_mechanism H200, batch 1 H200, batch 20 L40S, batch 1
native 0.081 / 20.99 1.223 / 128.42 0.238 / 20.64
native-flash 0.080 / 20.98 1.278 / 128.40 0.238 / 20.63
native-efficient नहीं मापा नहीं मापा 0.259 / 20.75
flash-attn-hub नहीं मापा नहीं मापा 0.238 / 20.75
flash-attn-3-hub 0.094 / 20.98 1.215 / 128.40 नहीं मापा
flash-attn-3-varlen-hub 0.096 / 20.97 1.216 / 128.44 नहीं मापा
flex 0.100 / 20.92 1.314 / 134.45 0.271 / 20.70
flash-attn-4-hub विफल विफल नहीं मापा
cudnn विफल नहीं मापा नहीं मापा

समान लंबाई वाले varlen metadata का helper upstream Diffusers से लिया गया है: lengths shapes से मिलती हैं और cumulative offsets के लिए arange उपयोग होता है। इससे प्रकाशित helper के GPU .item() synchronization और graph breaks हटते हैं। सभी positions valid होने पर अनावश्यक mask collate में हटा दिया जाता है। Forward/gradient समानता और graph capture की जाँच timing से अलग होती है।

attention_mechanism: "cudnn" को force करने पर PyTorch 2.11 Inductor में CantSplit त्रुटि आई; automatic native SDPA ने cuDNN सफलतापूर्वक उपयोग किया। FA4 Hub में nvidia-cutlass-dsl==4.7.1 के साथ cutlass.cute.core.ThrMma उपलब्ध नहीं था, इसलिए load विफल हुआ और timing उपलब्ध नहीं है। Hub backends में trust_remote_code: true है। FA3 Hopper के लिए है, L40S के लिए नहीं (upstream support)।

H200 batch scaling

उसी H200 पर native SDPA ने batch 10 में 0.612 सेकंड और batch 20 में 1.223 सेकंड लिए, यानी दोनों में लगभग 16.35 images/s। Throughput के स्थिर हो जाने के बाद batch दोगुना करने से काम भी लगभग दोगुना हुआ। 144 GB preset में checkpointing बंद ही है; बड़ा batch अतिरिक्त क्षमता उपयोग करता है, लेकिन अधिक images/s की गारंटी नहीं देता।

Batch सेकंड/step Images/s Peak GiB
1 0.081 12.38 20.99
10 0.612 16.35 71.85
20 1.223 16.35 128.42
उसी अपडेटेड native attention path पर H100 ने batch 10 और checkpointing बंद होने पर 0.639 सेकंड/step लिया; peak VRAM 71.83 GiB था।

Cached Domokun inputs पर पूरे transformer की जाँच में redundant mask के साथ और बिना FP32 outputs समान थे; gradient relative L2 error 1.97e-6 था। BF16 backends संख्यात्मक रूप से समान नहीं हैं: इस एक batch में FP32 के मुकाबले पूरे LoRA gradient की cosine similarity native SDPA के लिए लगभग 0.92–0.93 और FA3 के लिए 0.80 थी। ये numerical diagnostics हैं, convergence की तुलना नहीं।

H200 batch-20 trace में captured interval के 93.1% समय kernels चल रहे थे। Kernel time का 70.5% GEMM और 9.7% attention में था; Inductor ने normalization/RoPE और pointwise epilogues पहले ही fuse कर दिए थे। सबसे बड़े खाली अंतराल batch की तैयारी के आसपास थे। Kernel active time, SM occupancy नहीं है और profiler timings throughput tables में शामिल नहीं हैं।

27 images के इस dataset में batch 20 पर prefetch धीमा था: queue length 2 के साथ host prefetch का औसत 2.030 सेकंड/step और device prefetch (1 MiB threshold) का 2.036 सेकंड था, जबकि बिना prefetch 1.223 सेकंड लगा। Median लगभग 1.17 सेकंड होने पर भी दोनों में बीच-बीच में लगभग 3 सेकंड के steps आए; presets में prefetch बंद है।

250-step Domokun recipe throughput मापने का उदाहरण है, भरोसेमंद convergence recipe नहीं। पहले के एक checkpoint ने दोबारा लोड करने पर पहचानने योग्य Domokun बनाया, लेकिन नए 250-step runs वह परिणाम दोहरा नहीं पाए। Padding masks बनाए रखने, compilation बंद करने और पुराने RoPE expression का उपयोग करने वाले controls भी विफल रहे। Cached latents सही विषय में decode होते हैं। Training deterioration का कारण अभी स्पष्ट नहीं है; timing tables अलग attention backends की समान image quality साबित नहीं करतीं।

Qwen Image

ये Qwen-Image 1.0 (model_flavour: "v1.0") के पुराने माप हैं, जो पुराने qwen_image/v2.1/default/peft-lora उदाहरण पर 1024x1024 पर लिए गए थे। उदाहरण अब 2.1 चुनता है। नीचे interval/stride के लगभग समान परिणाम अलग-अलग schedules सक्रिय होने की पुष्टि नहीं करते और इन्हें 2.1 की सेटिंग का आधार नहीं बनाना चाहिए।

Precision Mode H100 L40S
bf16 none OOM OOM
bf16 activation-offload unsupported unsupported
bf16 layer 1.202 / 41.04 3.377 / 40.99
bf16 interval2 1.201 / 41.04 3.382 / 40.99
bf16 seg2-stride4 1.205 / 41.03 3.385 / 40.99
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 1.675 / 63.48 OOM
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 2.640 / 24.09 3.928 / 24.05
int8-sdnq-hadamard interval2 2.722 / 24.09 3.918 / 24.05
int8-sdnq-hadamard seg2-stride4 2.663 / 24.09 3.919 / 24.05
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none OOM OOM
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer 3.088 / 25.34 6.172 / 25.29
fp8-torchao interval2 3.095 / 25.34 6.173 / 25.29
fp8-torchao seg2-stride4 3.125 / 25.34 6.141 / 25.29
fp8-torchao seg2-stride4-offload unsupported unsupported

Sana

Example: sana/default/default/lycoris-lokr. Resolution: 1024x1024.

Note: Sana has interval checkpointing; stride is not a separate segmented schedule for this family in the measured rows.

Precision Mode H100 L40S
bf16 none 0.529 / 23.71 0.597 / 23.67
bf16 activation-offload unsupported unsupported
bf16 layer 0.529 / 23.72 0.596 / 23.66
bf16 interval2 0.530 / 23.72 0.598 / 23.66
bf16 seg2-stride4 unsupported unsupported
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 0.554 / 22.92 0.590 / 22.88
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 0.554 / 22.92 0.589 / 22.88
int8-sdnq-hadamard interval2 0.556 / 22.92 0.591 / 22.88
int8-sdnq-hadamard seg2-stride4 unsupported unsupported
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none 0.633 / 33.67 0.753 / 33.62
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer 0.633 / 33.67 0.755 / 33.62
fp8-torchao interval2 0.631 / 33.67 0.759 / 33.62
fp8-torchao seg2-stride4 unsupported unsupported
fp8-torchao seg2-stride4-offload unsupported unsupported

SanaVideo

Example: sanavideo/2b-480p/default/peft-lora. Resolution: 832x480, 49f.

Note: SanaVideo linear attention use करता है, इसलिए attention activation offload unsupported रहता है। Standard path में segmented whole-block checkpointing supported है।

Precision Mode H100 L40S
bf16 none 0.599 / 59.15 OOM
bf16 activation-offload unsupported unsupported
bf16 layer 0.597 / 59.15 OOM
bf16 interval2 not run OOM
bf16 seg2-stride4 not run OOM
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 0.641 / 58.36 OOM
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 0.641 / 58.36 OOM
int8-sdnq-hadamard interval2 not run OOM
int8-sdnq-hadamard seg2-stride4 not run OOM
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none OOM OOM
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer OOM OOM
fp8-torchao interval2 OOM OOM
fp8-torchao seg2-stride4 OOM OOM
fp8-torchao seg2-stride4-offload unsupported unsupported

SD 1.x

Example: sd1x/dreamshaper/default/peft-lora. Resolution: 512x512.

Note: SD1x diffusers UNet path use करता है. Regular layer checkpointing supported है, लेकिन interval और segmented stride controls इस family में wired नहीं हैं.

Precision Mode H100 L40S
bf16 none 0.181 / 2.87 0.176 / 2.83
bf16 activation-offload unsupported unsupported
bf16 layer 0.305 / 1.98 0.292 / 1.93
bf16 interval2 unsupported unsupported
bf16 seg2-stride4 unsupported unsupported
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 0.446 / 3.07 0.431 / 3.04
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 0.701 / 1.79 0.666 / 1.74
int8-sdnq-hadamard interval2 unsupported unsupported
int8-sdnq-hadamard seg2-stride4 unsupported unsupported
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none 0.410 / 4.23 0.401 / 4.18
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer 0.785 / 1.96 0.756 / 1.91
fp8-torchao interval2 unsupported unsupported
fp8-torchao seg2-stride4 unsupported unsupported
fp8-torchao seg2-stride4-offload unsupported unsupported

SD3

Example: sd3/default/default/peft-lora. Resolution: 1024x1024.

Note: SD3 plain transformer path पर real contiguous segmented checkpointing use करता है. Attention activation offload supported है; यह VRAM काफी घटाता है, लेकिन throughput खर्च करता है.

Precision Mode H100 L40S
bf16 none 0.529 / 34.59 1.189 / 34.53
bf16 activation-offload 1.335 / 9.68 2.850 / 9.63
bf16 layer 0.721 / 7.67 1.607 / 7.62
bf16 interval2 0.723 / 8.93 1.606 / 8.88
bf16 seg2-stride4 0.620 / 20.14 1.398 / 20.09
bf16 seg2-stride4-offload 1.229 / 12.21 2.639 / 12.16
int8-sdnq-hadamard none 0.858 / 33.66 1.381 / 33.61
int8-sdnq-hadamard activation-offload 1.845 / 8.90 3.297 / 8.85
int8-sdnq-hadamard layer 1.265 / 6.58 1.857 / 6.53
int8-sdnq-hadamard interval2 1.264 / 7.30 1.858 / 7.26
int8-sdnq-hadamard seg2-stride4 1.049 / 19.02 1.625 / 18.98
int8-sdnq-hadamard seg2-stride4-offload 1.527 / 12.42 3.023 / 12.37
fp8-torchao none OOM OOM
fp8-torchao activation-offload 4.707 / 10.27 9.814 / 10.23
fp8-torchao layer 1.575 / 9.13 3.279 / 9.09
fp8-torchao interval2 1.576 / 12.62 3.282 / 12.58
fp8-torchao seg2-stride4 1.376 / 45.70 OOM
fp8-torchao seg2-stride4-offload 4.184 / 26.17 8.714 / 26.12
fp8wo-torchao none 0.567 / 35.21 1.252 / 35.17
fp8wo-torchao activation-offload 1.392 / 8.71 2.921 / 8.67
fp8wo-torchao layer 0.795 / 5.69 1.736 / 5.65
fp8wo-torchao interval2 0.797 / 7.08 1.734 / 7.03
fp8wo-torchao seg2-stride4 0.679 / 19.43 1.490 / 19.38
fp8wo-torchao seg2-stride4-offload 1.257 / 12.00 2.676 / 11.96

SDXL

Example: sdxl/default/default/lycoris-lokr. Resolution: 1024x1024.

Note: SDXL has real layer checkpointing. Interval and stride rows are included as coverage data, not as segmented-support recommendations.

Precision Mode H100 L40S
bf16 none 0.606 / 13.03 0.585 / 12.98
bf16 activation-offload unsupported unsupported
bf16 layer 1.080 / 6.53 1.029 / 6.48
bf16 interval2 unsupported unsupported
bf16 seg2-stride4 unsupported unsupported
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 1.741 / 13.72 1.643 / 13.68
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 2.820 / 4.64 2.647 / 4.59
int8-sdnq-hadamard interval2 unsupported unsupported
int8-sdnq-hadamard seg2-stride4 unsupported unsupported
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none 1.608 / 26.22 1.582 / 26.16
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer 2.939 / 5.10 2.890 / 5.04
fp8-torchao interval2 unsupported unsupported
fp8-torchao seg2-stride4 unsupported unsupported
fp8-torchao seg2-stride4-offload unsupported unsupported

Stable Cascade

Example: stable_cascade/default/default/stage-c.lycoris-lokr. Resolution: 1024x1024.

Note: stage C full-precision prior path use करता है। ये rows mixed_precision=no और base_model_precision=no_change के साथ run हुईं; quantized base precision rows इस model के लिए meaningful नहीं हैं। interval और stride modes UNet के Res/Timestep/Attention micro-block sequence पर काम करते हैं।

Precision Mode H100 L40S
bf16 none 0.884 / 51.52 OOM
bf16 activation-offload unsupported unsupported
bf16 layer 1.179 / 22.68 2.135 / 22.61
bf16 interval2 1.032 / 36.99 1.871 / 36.92
bf16 seg2-stride4 1.032 / 37.20 1.870 / 37.13
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none unsupported unsupported
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer unsupported unsupported
int8-sdnq-hadamard interval2 unsupported unsupported
int8-sdnq-hadamard seg2-stride4 unsupported unsupported
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none unsupported unsupported
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer unsupported unsupported
fp8-torchao interval2 unsupported unsupported
fp8-torchao seg2-stride4 unsupported unsupported
fp8-torchao seg2-stride4-offload unsupported unsupported

Wan 2.1 T2V 1.3B

Example: wan/t2v-480p-1.3b-2.1/default/t2v-1.3b-480p-single-gpu.peft-lora+ramtorch. Resolution: 832x480, 81f.

Note: Wan 1.3B should be read from the no-regional-compile/RamTorch rows; regional compile was not a useful throughput setting in this sweep.

Precision Mode H100 L40S
bf16 none 1.407 / 71.90 OOM
bf16 activation-offload 3.472 / 8.78 7.179 / 8.66
bf16 layer 2.099 / 4.73 4.459 / 4.68
bf16 interval2 2.139 / 6.32 4.514 / 6.27
bf16 seg2-stride4 1.806 / 39.25 3.921 / 39.21
bf16 seg2-stride4-offload 2.993 / 22.66 6.493 / 22.61
int8-sdnq-hadamard none 1.850 / 71.91 OOM
int8-sdnq-hadamard activation-offload 4.204 / 8.72 7.387 / 8.68
int8-sdnq-hadamard layer 2.790 / 4.70 4.989 / 4.65
int8-sdnq-hadamard interval2 2.874 / 6.29 5.093 / 6.24
int8-sdnq-hadamard seg2-stride4 2.558 / 39.27 4.393 / 39.22
int8-sdnq-hadamard seg2-stride4-offload 3.711 / 22.67 6.695 / 22.63
fp8-torchao none 1.727 / 73.57 OOM
fp8-torchao activation-offload 4.061 / 10.08 7.404 / 9.96
fp8-torchao layer 2.607 / 5.98 4.888 / 5.93
fp8-torchao interval2 2.744 / 7.57 4.916 / 7.52
fp8-torchao seg2-stride4 2.246 / 40.55 4.245 / 40.50
fp8-torchao seg2-stride4-offload 3.602 / 24.02 6.683 / 23.91

Wan 2.1 T2V 14B

Example: wan/t2v-480p-14b-2.1/default/t2v-14b-480p-single-gpu.peft-lora+ramtorch. Resolution: 832x480, 81f.

Note: Wan 14B is mainly a fit test for activation savings. Status-only cells are still useful because they show which combinations reached the memory limit.

Precision Mode H100 L40S
bf16 none OOM OOM
bf16 activation-offload 13.144 / 36.80 OOM
bf16 layer 7.162 / 16.28 21.770 / 16.23
bf16 interval2 7.172 / 19.62 21.777 / 19.58
bf16 seg2-stride4 OOM OOM
bf16 seg2-stride4-offload OOM OOM
int8-sdnq-hadamard none unsupported unsupported
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer unsupported unsupported
int8-sdnq-hadamard interval2 unsupported unsupported
int8-sdnq-hadamard seg2-stride4 unsupported unsupported
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none failed failed
fp8-torchao activation-offload failed failed
fp8-torchao layer failed failed
fp8-torchao interval2 failed failed
fp8-torchao seg2-stride4 failed failed
fp8-torchao seg2-stride4-offload failed failed

Wan S2V

Example: wan_s2v/s2v-14b-2.2/default/14b-480p.peft-lora+ramtorch. Resolution: 832x480, 81f.

Note: Wan S2V is included as coverage data for the video/audio path. Treat failed cells as implementation coverage gaps.

Precision Mode H100 L40S
bf16 none failed failed
bf16 activation-offload unsupported unsupported
bf16 layer failed failed
bf16 interval2 unsupported unsupported
bf16 seg2-stride4 unsupported unsupported
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none failed failed
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer failed failed
int8-sdnq-hadamard interval2 unsupported unsupported
int8-sdnq-hadamard seg2-stride4 unsupported unsupported
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8-torchao none failed failed
fp8-torchao activation-offload unsupported unsupported
fp8-torchao layer failed failed
fp8-torchao interval2 unsupported unsupported
fp8-torchao seg2-stride4 unsupported unsupported
fp8-torchao seg2-stride4-offload unsupported unsupported

Z-Image Turbo

Example: z_image/turbo/default/peft-lora. Resolution: 1024x1024.

Precision Mode H100 L40S
bf16 none 0.243 / 21.25 0.316 / 21.21
bf16 activation-offload 0.837 / 13.24 0.805 / 13.19
bf16 layer 0.479 / 12.87 0.493 / 12.83
bf16 interval2 0.452 / 13.04 0.477 / 12.99
bf16 seg2-stride4 0.349 / 16.88 0.400 / 16.83
bf16 seg2-stride4-offload 0.681 / 15.03 0.736 / 14.99
int8-sdnq-hadamard none 0.645 / 15.60 0.615 / 15.55
int8-sdnq-hadamard activation-offload 1.439 / 7.61 1.382 / 7.56
int8-sdnq-hadamard layer 1.046 / 7.25 1.021 / 7.20
int8-sdnq-hadamard interval2 1.074 / 7.41 0.996 / 7.36
int8-sdnq-hadamard seg2-stride4 0.867 / 11.25 0.841 / 11.20
int8-sdnq-hadamard seg2-stride4-offload 1.202 / 9.39 1.162 / 9.35
fp8-torchao none 1.232 / 37.50 1.476 / 37.46
fp8-torchao activation-offload 3.623 / 7.97 3.564 / 7.93
fp8-torchao layer 2.319 / 7.93 2.344 / 7.88
fp8-torchao interval2 2.336 / 8.80 2.309 / 8.75
fp8-torchao seg2-stride4 1.843 / 22.55 1.930 / 22.50
fp8-torchao seg2-stride4-offload 2.947 / 15.57 3.243 / 15.52

ZLab I1

Example: zlab_i1/3b/default/peft-lora. Resolution: 1024x1024.

Note: ZLab I1 अपने U-Net-style skip tensors को segmented checkpoint state में carry करता है। इस family में attention activation offload wired नहीं है।

Precision Mode H100 L40S
bf16 none 0.462 / 22.21 0.865 / 22.16
bf16 activation-offload unsupported unsupported
bf16 layer 0.693 / 7.79 1.148 / 7.75
bf16 interval2 0.676 / 8.30 1.152 / 8.25
bf16 seg2-stride4 0.567 / 14.97 1.014 / 14.92
bf16 seg2-stride4-offload unsupported unsupported
int8-sdnq-hadamard none 0.861 / 19.21 0.926 / 19.16
int8-sdnq-hadamard activation-offload unsupported unsupported
int8-sdnq-hadamard layer 1.385 / 4.78 1.265 / 4.74
int8-sdnq-hadamard interval2 1.298 / 5.30 1.277 / 5.26
int8-sdnq-hadamard seg2-stride4 1.073 / 11.98 1.098 / 11.93
int8-sdnq-hadamard seg2-stride4-offload unsupported unsupported
fp8wo-torchao none 0.504 / 25.08 0.930 / 25.02
fp8wo-torchao activation-offload unsupported unsupported
fp8wo-torchao layer 0.772 / 5.12 1.280 / 5.07
fp8wo-torchao interval2 0.759 / 5.84 1.290 / 5.79
fp8wo-torchao seg2-stride4 0.633 / 15.12 1.115 / 15.08
fp8wo-torchao seg2-stride4-offload unsupported unsupported