frank-default-large: swap to kingjones STRIX model on card-pinned kingjones30/ROCmFPX runtime
- runtime: charlie build-qwen38 -> kingjones30/ROCmFPX (card recipe build, LLAMA_BUILD_WEBUI=OFF since npm/HF-bucket provisioning fails; all 35 of our serving flags verified present in the tree) - model: agentionai FAST imatrix -> kingjones777 STRIX single GGUF (on-host copy sha256 == HF LFS oid c6770d74...49fa verified) - args unchanged from our validated profile (401408x2, b4096/ub512, t16/tb16, f16 KV, fa on, fit off); mmap stays default per card (PLE streams via page cache; --no-mmap = silent cgroup OOM)
This commit is contained in:
1 parent
f69efcdde6
commit
3066d810ee
2 files changed
+76
-65
No files matched your search
@@ -1,49 +1,51 @@
|
|||||||
# Tunables for frank-default-large (agentionai/Qwen3.8-Flash-Next-ROCmFP4-
|
# Tunables for frank-default-large (kingjones777/Qwen3.8-Flash-Next-ROCmFP4-
|
||||||
# FAST-imatrix-GGUF on the charlie12345/ROCmFPX llama.cpp runtime,
|
# STRIX-GGUF on the kingjones30/ROCmFPX llama.cpp runtime, Dankclaw,
|
||||||
# build-qwen38, Dankclaw, Strix Halo gfx1151 unified memory).
|
# Strix Halo gfx1151, unified memory).
|
||||||
#
|
#
|
||||||
# Runtime: charlie12345/ROCmFPX llama.cpp at
|
# Runtime: kingjones30/ROCmFPX (fork of charlie12345/ROCmFPX with the
|
||||||
# /home/dank/GitPackages/ROCmFPX/build-qwen38 (HIP, ROCm 7.2.4, gfx1151,
|
# qwen4exp-on-rocmfpx-d3ca537 patch applied — the model card's pinned
|
||||||
# PR #27742 qwen4exp merged). The ROCmFP4 quant types are hand-ported from
|
# runtime: ROCmFP4 tensor types AND the qwen4exp architecture in one
|
||||||
# ciru-ai/ROCmFPX; upstream llama.cpp cannot load this GGUF. Replaced the
|
# tree; stock llama.cpp and charlie's fork alone cannot load this GGUF).
|
||||||
# jcbtc CIRU v1.1 (ciru-ai runtime) and kingjones STRIX_LEAN deployments.
|
# Built per the card recipe:
|
||||||
|
# cmake -B build -DGGML_HIP=ON -DGPU_TARGETS=gfx1151 -DGGML_NATIVE=ON -DCMAKE_BUILD_TYPE=Release
|
||||||
|
# at /home/dank/GitPackages/kingjones-ROCmFPX/build.
|
||||||
|
# Replaced the agentionai ROCmFP4-FAST imatrix deployment (charlie's
|
||||||
|
# build-qwen38 runtime) on 2026-08-30.
|
||||||
#
|
#
|
||||||
# Model: Qwen3.8-Flash-Next base (qwen4exp MoE: 512 experts / 10 used,
|
# Model: Qwen3.8-Flash-Next base (qwen4exp MoE: 512 experts / 10 used,
|
||||||
# 48 layers = 12 attention + 36 SSM, QSA indexer, hyper-connections, PLE
|
# 48 layers = 12 attention + 36 SSM, QSA indexer, hyper-connections, PLE
|
||||||
# 1. Flash attention is ON. fa on used to abort graph build: the QSA
|
# at layer 1), Q4_0_ROCMFP4_STRIX (file_type 105), 113.47 GiB single
|
||||||
# indexer path called ggml_fill on the F16-cast kq mask (ggml_fill
|
# file. STRIX is the top quality tier: PLE table at Q8_0 (50.66 GiB),
|
||||||
# asserts GGML_TYPE_F32 at ggml.c:5371). Fixed in the fork source by
|
# token embeddings + lm head at Q6_K. The PLE table NEVER enters GPU
|
||||||
# the QSA F32-mask patch (scripts/patches/qwen4exp-qsa-f32-mask.patch,
|
# memory — it streams from the file through the OS page cache. Two hard
|
||||||
# sha256 f2f4a486e21cfad80bfa42683281d18e1cba22fa43c5e0e2aa0cfdbe141e925f)
|
# card constraints:
|
||||||
# and the rebuilt binary at LLAMA_BIN already carries the fix. A clean
|
# 1. mmap MUST stay enabled (default) — --no-mmap forces the 50.66 GiB
|
||||||
# rebuild must re-apply: git apply scripts/patches/qwen4exp-qsa-f32-mask.patch
|
# table into anonymous memory and the cgroup killer takes the
|
||||||
# inside /home/dank/GitPackages/ROCmFPX before make. Verified live:
|
# process with nothing in the server log (only dmesg).
|
||||||
# --flash-attn on + v2 main at CTX_SIZE=32768 loads, health 200, real
|
# 2. Do NOT pin the PLE tensor to CPU with -ot — measured gen fell
|
||||||
# completion.
|
# ~23 -> 13.4 tok/s; the kernel streams it better.
|
||||||
# 2. The MTP draft head does NOT load on this binary. The qwen4exp loader
|
# NOTE: the card's own build_attn_qsa still calls ggml_fill on the
|
||||||
# requires blk.0.hc_attn_norm.weight per layer; the agentionai FAST
|
# F16-cast kq mask (the path that aborted our charlie build with
|
||||||
# head carries only blk.48 (verified 3x: EasiiX Q8_0 + FAST against
|
# --flash-attn on before scripts/patches/qwen4exp-qsa-f32-mask.patch).
|
||||||
# kingjones STRIX_LEAN, FAST against this v2 main). Speculative
|
# If a clean kingjones-tree build aborts graph build with
|
||||||
# decoding therefore runs ngram-mod only. The 2.28 GiB head stays on
|
# GGML_ASSERT(a-type == GGML_TYPE_F32), port that fix (F32 base mask +
|
||||||
# disk in case a compatible binary/head pair appears.
|
# cast at the attention call) into this tree and rebuild.
|
||||||
#
|
#
|
||||||
# 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
|
# 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
|
# incident). llama.cpp reads --host/--port/--temp as CLI flags, never as
|
||||||
# env vars.
|
# env vars.
|
||||||
|
|
||||||
# ROCmFPX (build-qwen38) runtime binary.
|
# kingjones30/ROCmFPX runtime binary (card recipe build).
|
||||||
LLAMA_BIN=/home/dank/GitPackages/ROCmFPX/build-qwen38/bin/llama-server
|
LLAMA_BIN=/home/dank/GitPackages/kingjones-ROCmFPX/build/bin/llama-server
|
||||||
|
|
||||||
# Model package from
|
# Model package from
|
||||||
# https://huggingface.co/agentionai/Qwen3.8-Flash-Next-ROCmFP4-FAST-imatrix-GGUF
|
# https://huggingface.co/kingjones777/Qwen3.8-Flash-Next-ROCmFP4-STRIX-GGUF
|
||||||
# Layout: v2/ joined-layout GGUF (PLE n-gram table as a single
|
# Layout: single unsharded GGUF, text-only (the repo ships no mmproj;
|
||||||
# per_layer_token_embd.weight tensor — the layout the charlie12345/ROCmFPX
|
# the vision tower below is borrowed from the agentionai FAST package —
|
||||||
# qwen4exp loader requires; the root -ple16 file splits the table per head
|
# same base model, f16 — kept only if it loads clean, drop
|
||||||
# and only loads in the LaurentZuijdwijk Vulkan fork). mmproj/ vision tower.
|
# MMPROJ_PATH if it does not).
|
||||||
# The MTP draft head lives in /home/dank/models/mtp-Qwen3.8-Flash-Next-FAST
|
MODEL_DIR=/home/dank/models/kingjones-Qwen3.8-Flash-Next-ROCmFP4-STRIX
|
||||||
# (already on the host).
|
MODEL_FILE=Qwen3.8-Flash-Next-Q4_0-ROCmFP4-STRIX.gguf
|
||||||
MODEL_DIR=/home/dank/models/agentionai-Qwen3.8-Flash-Next-ROCmFP4-FAST/v2
|
|
||||||
MODEL_FILE=Qwen3.8-Flash-Next-ROCmFP4-FAST-imatrix-v2.gguf
|
|
||||||
MMPROJ_PATH=/home/dank/models/agentionai-Qwen3.8-Flash-Next-ROCmFP4-FAST/mmproj/mmproj-Qwen3.8-Flash-Next-f16.gguf
|
MMPROJ_PATH=/home/dank/models/agentionai-Qwen3.8-Flash-Next-ROCmFP4-FAST/mmproj/mmproj-Qwen3.8-Flash-Next-f16.gguf
|
||||||
|
|
||||||
# Qwen-Sharp chat template (tracked in the repo, staged on the host). The
|
# Qwen-Sharp chat template (tracked in the repo, staged on the host). The
|
||||||
@@ -62,11 +64,14 @@ LISTEN_PORT=7770
|
|||||||
# ubatch 512, 16+16 threads, f16 KV, 16 context checkpoints, 8 GiB
|
# ubatch 512, 16+16 threads, f16 KV, 16 context checkpoints, 8 GiB
|
||||||
# prompt cache. --fit off: auto-fit segfaults on this model's
|
# prompt cache. --fit off: auto-fit segfaults on this model's
|
||||||
# hyper-connection/indexer config; -ngl 999 puts every layer on the
|
# hyper-connection/indexer config; -ngl 999 puts every layer on the
|
||||||
# SVM-backed GPU pool.
|
# SVM-backed GPU pool. ubatch 512 matches the card's re-measurement
|
||||||
|
# (-ub 1024/2048/4096 showed no effect; -t 32 vs 16 is noise).
|
||||||
#
|
#
|
||||||
# CTX_SIZE=401408 / PARALLEL=2: untested experiment. At 32768×1 the
|
# CTX_SIZE=401408 / PARALLEL=2: carried over from the FAST deployment
|
||||||
# context buffer was ~13 GiB and total ~100 GiB in the 119.3 GiB HIP
|
# where it loaded clean (~74 s, health 200). The card measures the full
|
||||||
# heap. Doubling slots × 12× context could OOM — verify load.
|
# 262144 window at ~71.7 GiB GTT at load on the same 128 GB board; QSA
|
||||||
|
# caps KV growth so the extra window is cheap. KV footprint scales
|
||||||
|
# with the 12 attention layers only. Verify load on first STRIX boot.
|
||||||
CTX_SIZE=401408
|
CTX_SIZE=401408
|
||||||
PARALLEL=2
|
PARALLEL=2
|
||||||
|
|
||||||
@@ -104,7 +109,11 @@ HSA_OVERRIDE_GFX_VERSION=11.5.1
|
|||||||
VERBOSITY=4
|
VERBOSITY=4
|
||||||
|
|
||||||
|
|
||||||
# Speculative decoding: disabled.
|
# Speculative decoding: disabled. The card's Usage block ships no spec
|
||||||
|
# flags. The Flash-Next MTP heads do not load on this loader (requires
|
||||||
|
# per-layer blk.N.hc_attn_norm; every head carries only blk.48 —
|
||||||
|
# verified 3x on build-qwen38). DRAFT_MODEL_* point at the retired
|
||||||
|
# agentionai FAST head and are unused while SPEC_TYPE=none.
|
||||||
DRAFT_MODEL_DIR=/home/dank/models/mtp-Qwen3.8-Flash-Next-FAST
|
DRAFT_MODEL_DIR=/home/dank/models/mtp-Qwen3.8-Flash-Next-FAST
|
||||||
DRAFT_MODEL_FILE=Qwen3.8-Flash-Next-MTP-ROCmFP4-FAST.gguf
|
DRAFT_MODEL_FILE=Qwen3.8-Flash-Next-MTP-ROCmFP4-FAST.gguf
|
||||||
SPEC_TYPE=none
|
SPEC_TYPE=none
|
||||||
|
|||||||
@@ -1,29 +1,31 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# Serve agentionai/Qwen3.8-Flash-Next-ROCmFP4-FAST-imatrix-GGUF as
|
# Serve kingjones777/Qwen3.8-Flash-Next-ROCmFP4-STRIX-GGUF as
|
||||||
# frank-default-large via the charlie12345/ROCmFPX llama.cpp runtime
|
# frank-default-large via the kingjones30/ROCmFPX llama.cpp runtime on
|
||||||
# (build-qwen38, PR #27742 qwen4exp merged) on Dankclaw (Strix Halo
|
# Dankclaw (Strix Halo gfx1151, unified memory).
|
||||||
# gfx1151, unified memory).
|
|
||||||
#
|
#
|
||||||
# Runtime: charlie12345/ROCmFPX llama.cpp built at
|
# Runtime: kingjones30/ROCmFPX (fork of charlie12345/ROCmFPX with the
|
||||||
# /home/dank/GitPackages/ROCmFPX/build-qwen38 (HIP, gfx1151, ROCm 7.2.4).
|
# model card's qwen4exp-on-rocmfpx patch) built at
|
||||||
# The ROCmFP4 quant types (Q4_0_ROCMFP4_FAST) are hand-ported from
|
# /home/dank/GitPackages/kingjones-ROCmFPX/build (HIP, gfx1151,
|
||||||
# ciru-ai/ROCmFPX; upstream llama.cpp cannot load this GGUF.
|
# ROCm 7.2.4, card recipe). The ROCmFP4 quant types plus the qwen4exp
|
||||||
|
# architecture must be in one tree; stock llama.cpp cannot load this
|
||||||
|
# GGUF.
|
||||||
#
|
#
|
||||||
# Model: Qwen3.8-Flash-Next base (qwen4exp MoE: 512 experts / 10 used,
|
# Model: Qwen3.8-Flash-Next base (qwen4exp MoE: 512 experts / 10 used,
|
||||||
# 48 layers = 12 attention + 36 SSM, QSA indexer, hyper-connections, PLE
|
# 48 layers = 12 attention + 36 SSM, QSA indexer, hyper-connections, PLE
|
||||||
# at layer 1) quantized Q4_0_ROCMFP4_FAST, imatrix-calibrated, 87.06 GiB.
|
# at layer 1) quantized Q4_0_ROCMFP4_STRIX, 113.47 GiB single file. The
|
||||||
# The n-gram PLE table is a single per_layer_token_embd.weight tensor —
|
# 50.66 GiB PLE n-gram table stays OUT of GPU memory and streams via
|
||||||
# fully VRAM-resident, no sidecar, no --ngram-on-disk.
|
# mmap from the OS page cache — never add --no-mmap or -ot for it.
|
||||||
#
|
#
|
||||||
# Profile: card sampling table (temp 0.7, top_p 0.80, top_k 20, min_p 0.0,
|
# Profile: card sampling table (temp 0.7, top_p 0.80, top_k 20, min_p 0.0,
|
||||||
# presence 1.5 — non-thinking instruct) mixed with the validated
|
# presence 1.5 — non-thinking instruct) mixed with the validated serving
|
||||||
# build-qwen38 serving profile: ctx 262144 x 1 slot, b 4096 / ub 4096,
|
# profile: ctx 401408 x 2 slots, b 4096 / ub 512, t 16 / tb 16, f16 KV,
|
||||||
# t 16 / tb 16, f16 KV, fa OFF (see KNOWN CONSTRAINTS in the env file:
|
# fa on (if the graph build aborts on the QSA F16 mask, see the note in
|
||||||
# flash-attn on aborts graph build on the QSA indexer path), cont-batching,
|
# the env file: port scripts/patches/qwen4exp-qsa-f32-mask.patch into
|
||||||
# prompt cache + 8 GiB cache-ram + idle-slot cache, 16 ctx checkpoints,
|
# this tree and rebuild), cont-batching, prompt cache + 8 GiB cache-ram
|
||||||
# --fit off (auto-fit segfaults on qwen4exp hyper-connection config).
|
# + idle-slot cache, 16 ctx checkpoints, --fit off (auto-fit segfaults
|
||||||
# Speculative decoding is ngram-mod only; the MTP head does not load on
|
# on qwen4exp hyper-connection config). Speculative decoding off: the
|
||||||
# build-qwen38 (loader requires blk.0.hc_attn_norm.weight it lacks).
|
# Flash-Next MTP heads do not load on this loader; the card ships no
|
||||||
|
# spec flags.
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
@@ -36,10 +38,10 @@ if [[ -f "$ENV_FILE" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# --- defaults (used when the env file does not set them) -------------------
|
# --- defaults (used when the env file does not set them) -------------------
|
||||||
: "${LLAMA_BIN:=/home/dank/GitPackages/ROCmFPX/build-qwen38/bin/llama-server}"
|
: "${LLAMA_BIN:=/home/dank/GitPackages/kingjones-ROCmFPX/build/bin/llama-server}"
|
||||||
: "${MODEL_DIR:=/home/dank/models/agentionai-Qwen3.8-Flash-Next-ROCmFP4-FAST/v2}"
|
: "${MODEL_DIR:=/home/dank/models/kingjones-Qwen3.8-Flash-Next-ROCmFP4-STRIX}"
|
||||||
: "${MODEL_FILE:=Qwen3.8-Flash-Next-ROCmFP4-FAST-imatrix-v2.gguf}"
|
: "${MODEL_FILE:=Qwen3.8-Flash-Next-Q4_0-ROCmFP4-STRIX.gguf}"
|
||||||
: "${MMPROJ_PATH:=$MODEL_DIR/../mmproj/mmproj-Qwen3.8-Flash-Next-f16.gguf}"
|
: "${MMPROJ_PATH:=/home/dank/models/agentionai-Qwen3.8-Flash-Next-ROCmFP4-FAST/mmproj/mmproj-Qwen3.8-Flash-Next-f16.gguf}"
|
||||||
: "${CHAT_TEMPLATE_FILE:=$SCRIPT_DIR/chat-template.jinja}"
|
: "${CHAT_TEMPLATE_FILE:=$SCRIPT_DIR/chat-template.jinja}"
|
||||||
: "${CHAT_TEMPLATE_KWARGS:={}}"
|
: "${CHAT_TEMPLATE_KWARGS:={}}"
|
||||||
: "${ALIAS:=frank-default-large}"
|
: "${ALIAS:=frank-default-large}"
|
||||||
@@ -122,8 +124,8 @@ if [[ -n "$SPEC_TYPE" && "$SPEC_TYPE" != "none" ]]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# The agentionai FAST package includes the model's own vision tower (f16,
|
# The STRIX repo ships no mmproj; this is the agentionai FAST package's
|
||||||
# lossless). Pass --mmproj only when MMPROJ_PATH points at a readable file.
|
# f16 vision tower for the same base model. Passed only when readable.
|
||||||
MMPROJ_ARGS=()
|
MMPROJ_ARGS=()
|
||||||
if [[ -n "${MMPROJ_PATH:-}" && -r "${MMPROJ_PATH:-}" ]]; then
|
if [[ -n "${MMPROJ_PATH:-}" && -r "${MMPROJ_PATH:-}" ]]; then
|
||||||
MMPROJ_ARGS=(--mmproj "$MMPROJ_PATH")
|
MMPROJ_ARGS=(--mmproj "$MMPROJ_PATH")
|
||||||
|
|||||||
Reference in new issue
Block a user