# Tunables for the Ling-3.0-flash TRAIL on dankclaw (frank-dragoon-ling). # This REPLACES frank-default-large (Qwen3.6-27B) temporarily. To switch # back: systemctl stop frank-dragoon-ling && systemctl start frank-default-large. # Runtime: llama.cpp FORK bailingmoe3-support; Vulkan + AMD GTT. # # Memory model (amdgpu Strix Halo gfx1151, 8x16GB LPDDR5 = 128 GiB physical): # - firmware UMA carve-out gives the iGPU ~96 GiB VRAM (rocm-smi "VRAM total"). # - CPU system RAM is the remainder (~30 GiB; kernel MemTotal). # - Vulkan (RADV) reports an ~111.2 GiB heap (113910 MiB) - larger than ROCm's # 96 GiB, because Vulkan can also reach system memory via GTT. # - Q6_K is 98.26 GiB, leaving only ~13 GiB of heap for KV + graphs, so keep # the context small (Ling uses MLA/KDA, so KV stays small). Tune CTX_SIZE. MODEL_DIR=/home/dank/models MODEL_FILE=Ling-3.0-flash-Q6_K.gguf ALIAS=frank-default-large # keep the API alias so clients are unaffected HOST=0.0.0.0 PORT=7770 # Context: Q6_K uses ~98.7 GiB of the ~111.2 GiB Vulkan heap; Ling's MLA/KDA # KV is tiny (~2.5 GiB for 256k), so a large context fits. 262144 total = 2 # slots x 131072, ~10 GiB heap headroom after load. Verified 2026-08-14. CTX_SIZE=262144 PARALLEL=2 # MTP is bundled in the Ling GGUF itself (block 42) - no separate draft file. # Layering ngram-mod under MTP (draft-mtp,ngram-mod) re-drafts via ngram. SPEC_TYPE=none SPEC_DRAFT_N_MAX=3 SPEC_NGRAM_MOD_N_MIN=48 SPEC_NGRAM_MOD_N_MAX=64 SPEC_NGRAM_MOD_N_MATCH=24 # Vulkan exposes the larger heap (UMA + GTT) vs ROCm. Use Vulkan0. DEVICE=Vulkan0 N_GPU_LAYERS=all FLASH_ATTN=auto # Batch kept small-leaning for the tight memory budget; tune with CTX_SIZE. BATCH_SIZE=3072 UBATCH_SIZE=3072 # Diagnostics: high verbosity + a dedicated log file for investigating the # premature 'stop' reports. -lv 4 = verbose (ggml); 5 = debug. VERBOSITY=0 # Sampling defaults (model card: reasoning-capable; leave temp/top to default) TEMPERATURE=1.0 TOP_K=20 TOP_P=0.95 MIN_P=0.0 THREADS=12 THREADS_HTTP=1