Commit Graph
18 Commits
Author SHA1 Message Date
Frank a27839519e dankclaw: FINAL spec - draft-mtp n_max 3, ubatch 8192
n_max 2 benched 12.4-14.3 t/s (slower than n_max 3 at 15.3-19.5);
n_max 3 is the MTP sweet spot. ubatch 8192 (==batch) uses the VRAM
headroom (65.5 GiB of 96 GiB) safely. MTP beats ngram-mod (~7 t/s) and
matches DFlash (~20 t/s) without the parallel premature-EOS bug.
2026-08-13 23:07:38 -07:00
Frank 2b4e58a926 dankclaw: MTP tuning - spec-draft-n-max 2
Retest MTP at n_max 2 (vs 3) for the acceptance/speed tradeoff, keeping
MTP-alone + ubatch 8192. Re-benches gen t/s and re-runs the strict
parallel-safety test.
2026-08-13 23:02:07 -07:00
Frank 0d09756430 dankclaw: revert MTP+ngram layering (slower); ubatch 8192
MTP+ngram benched 12.0-13.6 t/s (vs MTP alone 15.3-19.5) and is
parallel-safe, but slower - layering does not pay off. Back to MTP
alone. Test ubatch 8192 (== batch) using the VRAM headroom; watch for
OOM during load.
2026-08-13 22:46:55 -07:00
Frank 5dd6949909 dankclaw: bench cycle 3 - layer ngram-mod under draft-mtp
Test the MTP+ngram layering (ngram re-drafts on top of the MTP draft) at
ubatch 4096. Must clear the strict parallel-safety test and beat MTP
alone (15.3-19.5 t/s) to stay.
2026-08-13 22:22:29 -07:00
Frank f203f1bc40 dankclaw: MTP wins the spec bench; raise ubatch to 4096
MTP (draft-mtp, n_max 3, a4lg MTP-ONLY-Q8_0) benches 15.3-19.5 t/s vs
ngram-mod 6.7-8.7 t/s and passes the strict LCP-reuse parallel test
(sim 0.996 / f_keep 0.994 launch while another slot generates - the
pattern that killed DFlash). ubatch 4096 to use the ~33 GiB VRAM
headroom; watch peak during load.
2026-08-13 22:02:40 -07:00
Frank 5665e1ad6f dankclaw: bench cycle 2 - MTP sidecar drafter
ngram-mod benchmark + parallel-safety test passed (A and B both survive
the LCP-reuse launch that killed DFlash). Now benching MTP sidecar
(a4lg/Qwen3.6-27B-MTP-ONLY-Q8_0.gguf, draft-mtp, n_max 3).
2026-08-13 21:51:32 -07:00
Frank 6451017d3c dankclaw: bench cycle 1 - switch spec to ngram-mod; draft flags conditional
DFlash causes premature EOS on a generating slot when another task lands
with high LCP prompt reuse (shared draft ctx corruption, reproduced
2026-08-14 3x). Benching ngram-mod vs MTP sidecar to pick the
replacement. serve script now passes --spec-draft-model only for
draft-* spec types.
2026-08-13 21:16:32 -07:00
Frank 317610a540 perf: raise frank-default-large to batch 8192 / ubatch 2048
Empirically verified on 2026-08-13 (caches dropped): batch 8192 / ubatch
2048 loads and serves at ctx 602100 with 61 GiB VRAM peak. The benchmark
doc's 'ubatch 2048 OOMs' results were confounded by page-cache pressure -
with the model's pages fully cached the KV/graph allocation stalls at
28 GiB VRAM. Drop caches (sync; echo 3 > /proc/sys/vm/drop_caches) before
starting a load to make restarts reliable.
2026-08-13 18:56:12 -07:00
Frank 227ce01417 fix: rename sampling TEMP var to TEMPERATURE to avoid HIP runtime env collision
The ROCm HIP runtime (libamdhip64) reads the TEMP environment variable as
its JIT kernel-cache temp directory. Commit db3eb01 added TEMP=1.0 to the
env files as a sampling default; the serve scripts export it via set -a.
HIP then used the path "1.0" for its cache, failed, and segfaulted with a
NULL-refcount unref (offset 0x446153 in libamdhip64) during model tensor
upload (ggml_backend_cuda_buffer_set_tensor). This crashed frank-default-
large on every restart from Aug 13 16:22 onward; the earlier c984a3e
"fix" (KV/batch changes) was unrelated.

Rename the sampling variable TEMP -> TEMPERATURE in both env files and
serve scripts. llama-server still receives --temp from the renamed var, so
sampling defaults are unchanged. The HIP runtime no longer sees a bogus
TEMP value. Affects frank-default-large (dankclaw) and frank-default-small
(dankserver).
2026-08-13 17:54:29 -07:00
Frank 6663af1041 Revert "Remove KV cache quantization, increase batch/ubatch on frank-default-large"
The Aug 13 change crashed frank-default-large in a restart loop. The service
segfaulted ~15s into model load (SIGSEGV in hipMalloc during load). The
benchmark (frank-default-large-benchmark.md) already proved ubatch 2048 OOMs
(40.9GB prefill buffer) and batch 2048 / ubatch 512 is the fits-and-loads
config on the 96GiB UMA budget. Restore q8_0/q8_0 KV cache (FA pairing) and
batch 2048 / ubatch 512.

Also fix deployment.md: KV is q8_0 K / q8_0 V (not f16 V) since 334b6af.
2026-08-13 17:04:02 -07:00
Frank c984a3e4e6 Remove KV cache quantization, increase batch/ubatch on frank-default-large
- Remove CACHE_TYPE_K/CACHE_TYPE_V (fp16 default on GPU)
- Increase BATCH_SIZE from 2048 to 8192
- Increase UBATCH_SIZE from 512 to 2048
- Remove --cache-type-k and --cache-type-v from llama-server flags
2026-08-13 16:50:09 -07:00
Frank db3eb01495 Add recommended sampling defaults and reduce MoE GPU offload on dankserver
- frank-default-large: add TEMP=1.0, TOP_K=20, TOP_P=0.95, MIN_P=0.0
  (per HauhauCS Qwen3.6-27B model card, thinking-general mode)
- frank-default-small: add same sampling defaults
  (per HauhauCS Qwen3.6-35B-A3B model card)
- frank-default-small: reduce N_CPU_MOE from 33 to 34 (6 expert
  layers on GPU instead of 7) to prevent OOM during high-load sessions
- Both serve scripts pass --temp, --top-k, --top-p, --min-p to
  llama-server; clients can still override per-request via API
2026-08-13 16:18:47 -07:00
Frank 334b6af2ae fix(frank-default-large): enable flash attention by pairing V cache to q8_0
Root cause of ~1 t/s long-context decode: llama.cpp build has
GGML_CUDA_FA_ALL_QUANTS=OFF, and FA requires K type == V type.
Mixed cache q8_0/f16 silently disabled FA, collapsing decode at
200k ctx. Set V to q8_0 (halves V memory too) and retune
threads 12/1 for 16 Zen5 cores.
2026-08-12 02:09:05 -07:00
Frank 668083fe76 perf: frank-default-large ubatch 512 (compute graph scales with ubatch; 602100 ctx KV leaves ~16GB, ubatch 2048 OOM) 2026-08-11 17:19:57 -07:00
Frank 62cc2b850a perf: frank-default-large batch capped at 2048/2048 — 3x200700 ctx KV ~50GB leaves no room for batch 12288 (OOM) 2026-08-11 17:11:04 -07:00
Frank bf64c0d9c2 perf: frank-default-large batch 12288 / ubatch 4096 2026-08-11 16:36:39 -07:00
Frank 25e90bbbf7 deploy: frank-default-large final config — ROCm + draft-dflash, 3x200700 ctx (bench-fastest) 2026-08-11 16:27:15 -07:00
Frank aa2f4bfe39 feat: frank-default-large → llama.cpp Qwen3.6-27B Q8_K_P + DFlash draft + ngram-mod (bench pending) 2026-08-11 13:47:37 -07:00