Files
serverAppConfigs/scripts/frank-default-large.env
T
Frank e0329caef8 Add FASTGREEDY mode to serve script: reasoning off + argmax fastpath on for fast-greedy bench
FASTGREEDY=1 flips the serve script to the card's default profile:
- reasoning off (no logit budget overhead)
- LLAMA_TARGET_GREEDY_ARGMAX_FASTPATH=1 (exact-Q8 GPU argmax)
- deterministic sampler (temp 0, top_p 1, top_k 0, min_p 0)

This mirrors the card's 'fast greedy (default)' benchmark config.
Production (FASTGREEDY=0) unchanged.
2026-08-22 12:54:03 -07:00

89 lines
4.1 KiB
Bash

# Tunables for frank-default-large (Kairic Edge llama.cpp, dankclaw,
# Strix Halo gfx1151).
#
# Runtime: the llama-server built from the pinned ciru-ai/ROCmFPX tag
# kairic-edge-qwen38-27b-v1 (Kairic Edge IU4 lane: PromptForge + Dual
# View + native RDNA 3.5 IU4 matrix compute), built against the private
# TheRock ROCm 7.15 SDK kept in the retired ling3-ciru venv.
# Model: jcbtc/Qwen3.8-27B-IU4-Kairic-Edge, four-artifact payload
# (GGUF + FFN/GDN/GDN-Output .pfs sidecars, 26.05 GiB total). Alias
# frank-default-large, port 52625. See docs/kairic-edge.md.
#
# This runtime replaced the retired v3 CIRU ActiveFPX PromptForge
# service. The v3 model files remain in
# /home/dank/models/CIRU-Qwen3.8-27B-ActiveFPX-v3/ and the v3 binary in
# /home/dank/ciru-qwen38/ROCmFPX/build-promptforge/ for rollback.
#
# WARNING: do not name any variable TEMP, HOST, or GPU_MAX_HEAP_SIZE. The
# ROCm HIP runtime reads those bare env vars (2026-08-13 TEMP incident).
# llama.cpp reads --host/--port/--temp as CLI flags, never as env vars.
# Kairic Edge llama-server binary (pinned tag build; see
# docs/kairic-edge.md for the build runbook and binary identity).
LLAMA_BIN=/home/dank/ciru-qwen38/ROCmFPX-kairic/build-kairic/bin/llama-server
# Model files (Kairic Edge four-artifact payload). The sidecars are
# accelerator-specific prepacked copies of selected weights; they are
# required, not optional.
MODEL_DIR=/home/dank/models/Kairic-Qwen3.8-27B-IU4-Edge
MODEL_FILE=Qwen3.8-27B-IU4-Kairic-Edge.gguf
FFN_PFS=Qwen3.8-27B-Kairic-IU4-FFN.pfs
GDN_PFS=Qwen3.8-27B-Kairic-IU4-GDN.pfs
GDN_OUTPUT_PFS=Qwen3.8-27B-Kairic-IU4-GDN-Output.pfs
# ROCm 7.15 SDK paths (inside the retired ling3-ciru venv). The serve
# script exports ROCM_PATH and LD_LIBRARY_PATH from these so the 7.15
# libraries precede any system ROCm 7.2.4.
ROCM_DEVEL=/home/dank/ling3-ciru/Ling-3.0-Flash-CIRU-int4-Strix-native/.venv/lib/python3.12/site-packages/_rocm_sdk_devel
ROCM_LIB=/home/dank/ling3-ciru/Ling-3.0-Flash-CIRU-int4-Strix-native/.venv/lib/python3.12/site-packages/_rocm_sdk_libraries
ROCM_CORE=/home/dank/ling3-ciru/Ling-3.0-Flash-CIRU-int4-Strix-native/.venv/lib/python3.12/site-packages/_rocm_sdk_core
ALIAS=frank-default-large
BIND_ADDR=0.0.0.0
LISTEN_PORT=52625
# Serving: the qualified Kairic profile (pinned runner defaults). Full
# native 262144 context, 1 slot, batch 2048 / ubatch 512, 16 target /
# 32 batch threads, f16 target and draft KV, 32 context checkpoints,
# 8192 MiB prompt cache with idle-slot persistence. Context checkpoints
# are required for this hybrid recurrent model; do not remove CTX_CHECKPOINTS
# while the prompt cache is enabled.
CTX_SIZE=262144
PARALLEL=1
# Batch profile: the pinned runner's qualified sizes (2048/512). Benchmarks
# on 2026-08-22: ubatch 512 gives the fastest prefill at every depth
# (524/485/323 t/s at 8k/16k/64k vs 266/258/203 for ubatch 4096) with no
# decode difference. Do not raise ubatch without re-benching prefill.
BATCH_SIZE=2048
UBATCH_SIZE=512
TARGET_THREADS=16
BATCH_THREADS=32
CACHE_TYPE_K=f16
CACHE_TYPE_V=f16
CTX_CHECKPOINTS=32
CACHE_RAM=8192
# Native MTP draft (depth 4, p_min 0, backend sampling) — the pinned
# runner's explicit MTP4.
SPEC_DRAFT_N_MAX=4
SPEC_DRAFT_N_MIN=0
SPEC_DRAFT_P_MIN=0.0
SPEC_DRAFT_P_SPLIT=0.10
# Sampling: the pinned runner keeps the deterministic evaluation
# profile (temp 0 / top-p 1 / top-k 0 / min-p 0) as the server default.
# Clients override per request; the model card recommends Qwen live
# values for ordinary chat (temp 0.7, top-p 0.8, top-k 20, min-p 0,
# presence_penalty 1.5).
#
# Reasoning: the qualified profile runs reasoning off, but production
# chat runs --reasoning on --reasoning-format deepseek (thinking goes to
# message.reasoning_content, matching the retired v3 service) with
# --reasoning-budget -1 (unrestricted) and chat_template_kwargs
# preserve_thinking=true (preserve thinking tokens across turns).
#
# For fast-greedy bench: comment out the --reasoning on line in serve script
# and set FASTGREEDY=1 in env (see serve script FASTGREEDY section).
# FASTGREEDY=1 flips to: reasoning off, argmax fastpath=1, sampling defaults.
# FASTGREEDY=0 (default) uses the production values above.