perf(dflash): split-chain fast rollback with F32 SSM checkpoints (+29% decode)#506
Conversation
There was a problem hiding this comment.
All reported issues were addressed across 13 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
|
@Amidwestnoob thanks for the contribution, please review and fix cubic reviews |
|
@howard0su When you have a chance, could you please review this? Cubic passes and all four review threads are resolved. The latest follow-up gates capture logging behind the existing self-test/diagnostic flags; the Release CUDA build completed and all 15 tests passed locally. |
|
@Amidwestnoob I did run it and there is still little gain that can be squeezed. See my PR feel free to diff it and cherry pick the commits I added on top of your good PR 506 |
Adapted surgically from dusterbloom commit bb76966 onto PR Luce-Org#506 while preserving the later split-capture diagnostic gate. Co-Authored-By: Claude <noreply@anthropic.com>
|
Added Verification on the exact PR head lineage:
The bounded divergence check also found a pre-existing target-vs-DFlash mismatch at generated token 111 in both legacy and fast modes, before their restore-path outputs differ. That finding is not introduced by this batching commit and should be investigated separately in verifier/acceptance/state-selection semantics. |
There was a problem hiding this comment.
All reported issues were addressed across 9 files (changes from recent commits).
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
Summary
Benchmark
Controlled dual-GPU A/B/A benchmark on two RTX 3090 24 GB cards using the same pinned models, prompt, generation length, power/thermal conditions, and layer split (
--target-gpus 0,1 --target-layer-split 12,11). Each block used one discarded warmup and five measured runs.All 15 measured runs produced byte-identical 256-token output:
1653a412811d3b87e26aab900e801b411fd68f9214b512ae984db6404b82204fA1/A2 baseline drift was 0.48%. Maximum observed GPU temperature was 64 C.
Memory trade-off
The F32 SSM checkpoint storage adds exactly 1,774,190,592 bytes (~1.65 GiB) of persistent GPU memory in the tested split configuration. Both GPUs are required for the tested 27B configuration; a single RTX 3090 is not sufficient.
Safety boundary
supports_tree_verify()remains unconditionally false in production.DFLASH_SPLIT_FAST_ROLLBACKand requires successful capture validation.Verification
mainat5e302cbb483819cd21e72f5dd8becaa609eca8cfsrc[7]Scope
Measured on the exact dual-RTX-3090 configuration above with a 1,024-token prompt and 256 generated tokens. No performance claim is made for single-GPU execution, sibling-tree verification, other models, or other hardware.