Files
serverAppConfigs/scripts/frank-default-large.env
T
Frank 40d50fed06 large: Kairic chat profile — reasoning on/deepseek, batch 4096/2048, preserve_thinking
Local overrides to the pinned runner for production chat:
  - --reasoning on --reasoning-format deepseek (thinking to
    message.reasoning_content, matching the retired v3 service so the
    fleet's reasoning clients work)
  - --reasoning-budget -1 (unrestricted thinking)
  - --chat-template-kwargs '{"preserve_thinking":"true"}' (preserve
    thinking tokens in the conversation history across turns)
  - batch 4096 / ubatch 2048 (larger than the runner's 2048/512; unified
    memory has headroom)

The Kairic IU4 lane (--kairic-edge) and the MTP draft fast path are
unaffected.
2026-08-22 01:03:08 -07:00

82 lines
3.7 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
# Local override: the pinned runner uses 2048/512; production chat uses a
# larger 4096/2048 batch (unified memory has headroom).
BATCH_SIZE=4096
UBATCH_SIZE=2048
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).