Files
serverAppConfigs/scripts/frank-default-large.env
T
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

45 lines
1.9 KiB
Bash

# Tunables for frank-default-large (HauhauCS Qwen3.6-27B Q8_K_P, DFlash+ngram-mod, dankclaw)
# Runtime: llama.cpp llama-server; AMD Strix Halo (gfx1151) 96GB UMA; Ryzen AI MAX+ 395.
MODEL_DIR=/home/dank/models
ALIAS=frank-default-large
HOST=0.0.0.0
PORT=7770
# 3 parallel slots x 200700 ctx each = 602100 total context pool.
CTX_SIZE=602100
PARALLEL=3
# Spec: DFlash draft model. Bench (4k, ROCm) showed draft-dflash fastest
# generation (20.2 t/s): DFlash+ngram 16.9, ngram-only 8.7. ngram layering
# reduced throughput, so it is not layered in production.
SPEC_TYPE=draft-dflash
SPEC_DRAFT_N_MAX=8
SPEC_NGRAM_MOD_N_MIN=48
SPEC_NGRAM_MOD_N_MAX=64
SPEC_NGRAM_MOD_N_MATCH=24
# Backend device from --list-devices. ROCm wins on generation; Vulkan renders
# DFlash spec unusable (NONE-op abort) and gen is slower on ngram (6.9 t/s).
DEVICE=ROCm0
# Dense model (Qwen3.6-27B, not MoE): no MoE CPU offload. Full offload.
N_GPU_LAYERS=all
# KV on GPU, quantized (K q8_0, V q8_0). V MUST match K: this llama.cpp
# build has GGML_CUDA_FA_ALL_QUANTS=OFF, and Flash Attention requires
# K type == V type. Mixed q8_0/f16 silently disables FA, collapsing
# long-context decode to ~1 t/s at 200k ctx. q8_0 V halves V memory too.
CACHE_TYPE_K=q8_0
CACHE_TYPE_V=q8_0
# Batch sizing constrained by ROCm memory at 602100 ctx (3x200700):
# KV ~50GB + model 29.77GB leave only ~16GB for compute graphs. The compute
# graph scales with UBATCH, so ubatch must stay ~512; ubatch 2048 OOMs even
# at batch 2048. Proven-fits config: batch 2048 / ubatch 512.
# User-specified ubatch 4096 / batch 12288 is not feasible here (see bench).
BATCH_SIZE=2048
UBATCH_SIZE=512
# Sampling settings — per HauhauCS Qwen3.6-27B model card.
# Thinking-general: temp=1.0, top_p=0.95, top_k=20, min_p=0.
# Clients may override per-request; these are the server-side defaults.
TEMP=1.0
TOP_K=20
TOP_P=0.95
MIN_P=0.0
THREADS=12
THREADS_HTTP=1