From d8da7a9eb79d2dd6c62b4134fc0a4e90187d6db2 Mon Sep 17 00:00:00 2001 From: Frank Date: Tue, 6 Oct 2026 18:30:35 -0700 Subject: [PATCH] frank-secondary: ubatch 2048 (the second rung inside the 112k headroom) Frank's order the same night. The 1024->2048 rung measured +4.6 % prefill for 616 MiB on the 3090 (2026-10-05 boot pair); the 112k cut left 1,751 MiB free, so it rides with ~1.1 GiB predicted margin. Decode is ubatch-invariant; batch 4096 >= 2048 keeps the seam happy. --- scripts/frank-secondary.env | 10 ++++++---- tests/frank_secondary_unit.bats | 6 +++--- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/scripts/frank-secondary.env b/scripts/frank-secondary.env index b26b438..f755a32 100644 --- a/scripts/frank-secondary.env +++ b/scripts/frank-secondary.env @@ -68,11 +68,13 @@ PARALLEL=2 # Compute-buffer geometry. Ubatch is a prefill knob (decode never moves); # the 1024 rung was the first A/B back once the per-slot context dropped -# to 112k (2026-10-06 evening) and freed ~1 GiB of KV. The pair is a -# measurement, not a law (loud failure at graph capture if it does not -# fit). +# to 112k (2026-10-06 evening), and 2048 is the second (Frank, same night) +# — the rung measured +4.6 % prefill for 616 MiB on the 3090 (2026-10-05 +# boot pair), affordable inside the 1,751 MiB the 112k cut freed. The pair +# is a measurement, not a law (loud failure at graph capture if it does +# not fit). BATCH_SIZE=4096 -UBATCH_SIZE=1024 +UBATCH_SIZE=2048 # The KV contract for this swap (Frank, 2026-10-05): q8_0 K + q8_0 V — # llama.cpp's FP8 class. The flags stay explicit so the choice is visible in diff --git a/tests/frank_secondary_unit.bats b/tests/frank_secondary_unit.bats index 26f242c..4cbe403 100755 --- a/tests/frank_secondary_unit.bats +++ b/tests/frank_secondary_unit.bats @@ -146,10 +146,10 @@ argv_value() { # RCO-IQ3_XXS weights 10,148 MiB (10,442,827,392 B) — 1.56 GiB LIGHTER # than the IQ3_S-mtp predecessor — + vision tower ~1.4 GiB (931,145,888 # B BF16 mmproj at the measured ~1.45x cost law) + compute buffers at - # ubatch 1024 + CUDA graphs + TWO DeltaNet states (~150 MiB each) + the + # ubatch 2048 + CUDA graphs + TWO DeltaNet states (~150 MiB each) + the # MTP draft ctx => 14 GiB budgeted. Two 114,688 slots are the - # 2026-10-06 evening shape (the lighter per-slot funds the ubatch - # increase); a THIRD slot must not fit. Arithmetic, not a boot log: + # 2026-10-06 late shape (the lighter per-slot funds the ubatch + # rungs); a THIRD slot must not fit. # change CTX_SIZE and this bites before the deploy does; the boot's # nvidia-smi free is the measured truth. ctx="$(sed -nE 's/^CTX_SIZE=([0-9]+)$/\1/p' "$ENV_FILE")"