The LLM fleet serve scripts, systemd units, env tunables, and bench harnesses join the deploy scripts. The vllmScripts deploy.sh is removed here; its functionality is folded into the unified scripts/deploy.sh in a follow-up commit. bench-spec-stack.sh gains the executable bit (required by the scripts_syntax test seam).
81 lines
3.6 KiB
Bash
81 lines
3.6 KiB
Bash
# Tunables for frank-default-large (CIRU llama.cpp, dankclaw, Strix Halo
|
|
# gfx1151).
|
|
#
|
|
# Runtime: the PromptForge llama-server built from ciru-ai/ROCmFPX tag
|
|
# qwen3.8-activefpx-promptforge-v2.3 plus the v3 output-K8 runtime patch
|
|
# serving jcbtc/Qwen3.8-27B-CIRU-ActiveFPX-PromptForge (v3). v3 tensor
|
|
# allocation (FFN-equalized, late-Q6 writers, full-Q8 output) with the
|
|
# full-W8 PromptForge companions, the Output-K8 draft proxy, and the BF16
|
|
# vision projector. Alias frank-default-large, port 52625.
|
|
#
|
|
# This runtime replaced the retired vLLM service that previously occupied
|
|
# this slot. See docs/ciru-activefpx-promptforge.md.
|
|
#
|
|
# WARNING: do not name any variable TEMP, HOST, or GPU_MAX_HEAP_SIZE. The ROCm
|
|
# HIP runtime reads those bare env vars (see the 2026-08-13 TEMP incident).
|
|
# llama.cpp reads --host/--port/--temp as CLI flags, never as env vars.
|
|
|
|
# CIRU llama-server binary (ROCmFPX v2.3 + v3 output-K8 patch build, see
|
|
# docs/ciru runtime page). Built against the private TheRock ROCm 7.15 SDK
|
|
# kept in the retired ling3-ciru venv. ROCm 7.15 is required for the
|
|
# advertised Strix Halo performance; the system ROCm 7.2.4 selects
|
|
# slower/fallback kernels.
|
|
LLAMA_BIN=/home/dank/ciru-qwen38/ROCmFPX/build-promptforge/bin/llama-server
|
|
|
|
# Model files (v3). The five-file payload (GGUF + FFN/GDN .pfs + Output-K8
|
|
# proxy + BF16 vision projector) is the full v3 configuration. The v3 files
|
|
# live in a separate directory so the v2 artifacts stay for rollback.
|
|
MODEL_DIR=/home/dank/models/CIRU-Qwen3.8-27B-ActiveFPX-v3
|
|
MODEL_FILE=Qwen3.8-27B-CIRU-ActiveFPX-PromptForge-v3-Q8-FFNEQ-LateQ6.gguf
|
|
FFN_PFS=Qwen3.8-27B-CIRU-ActiveFPX-PromptForge-FFN.pfs
|
|
GDN_PFS=Qwen3.8-27B-CIRU-ActiveFPX-PromptForge-GDN.pfs
|
|
OUTPUT_K8_PFS=Qwen3.8-27B-CIRU-ActiveFPX-PromptForge-Output-K8.pfs
|
|
MMPROJ_FILE=Qwen3.8-27B-mmproj-BF16.mmproj
|
|
|
|
# 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: full native 262144 context (n_ctx_train), 1 slot (user request
|
|
# 2026-08-19: parallel slots degraded performance). -c is the TOTAL
|
|
# context; with PARALLEL=1 it equals the per-slot context. Concurrent
|
|
# requests queue on the single slot; the server never preempts a running
|
|
# generation. f16 KV, context checkpoints, prompt cache, native MTP
|
|
# depth-4. The Strix Halo is unified memory; rocm-smi reports the 64 GiB
|
|
# budget. KV at 262144 x 64 KiB/cell is ~16 GiB.
|
|
CTX_SIZE=262144
|
|
PARALLEL=1
|
|
BATCH_SIZE=4096
|
|
UBATCH_SIZE=4096
|
|
CACHE_TYPE_K=f16
|
|
CACHE_TYPE_V=f16
|
|
CTX_CHECKPOINTS=16
|
|
CACHE_RAM=8192
|
|
|
|
# Native MTP draft (depth-4, p_min 0, backend sampling). The qualified v3
|
|
# profile drives the draft via the Output-K8 proxy; the CPU argmax fast
|
|
# path and IU4/ngram lanes are disabled in the serve script.
|
|
SPEC_DRAFT_N_MAX=4
|
|
SPEC_DRAFT_N_MIN=0
|
|
SPEC_DRAFT_P_MIN=0.0
|
|
SPEC_DRAFT_P_SPLIT=0.10
|
|
|
|
# Sampling (model card defaults).
|
|
TEMPERATURE=0.7
|
|
TOP_P=0.95
|
|
|
|
# Thinking enabled (user request, 2026-08-18). deepseek format moves the
|
|
# <think> reasoning into message.reasoning_content (OpenAI-compatible);
|
|
# none would leave the thought tags unparsed in content.
|
|
REASONING=on
|
|
REASONING_FORMAT=deepseek
|
|
|
|
VERBOSITY=4
|