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.
89 lines
4.1 KiB
Bash
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.
|