The radiance TP=2 cutover changed the metric namespace frank-medium exports (llamacpp:* -> vllm:*) and left two scrape targets addressing host processes by an address a container cannot reach. - shared/prometheus/rules/llm-fleet.yml: two namespaces side by side. Added LlmRequestsWaiting, LlmKvCacheSaturated (vllm-only gauges llama.cpp never had), the job:llm_vllm_prefix_cache_reuse:rate5m and job:llm_spec_accept_length:rate5m recording rules, and re-cut LlmPrefixCacheCollapse / LlmSpecDecodeOff to OR both families with per-family traffic floors so an idle endpoint cannot fire them. Every expression validated against live Prometheus. - shared/prometheus/prometheus.yml: frank-small -> host.containers.internal:7771 and frank-large scraped at host.containers.internal:7770. Both are HOST processes on Dankclaw and netavark DNATs published container ports only, so the LAN-IP targets were red by construction; frank-large's CIRU llama.cpp build does export the llamacpp:* family, contra the old comment. - tests/observability_quadlet.bats: the two seams now encode the new contract (per-endpoint reachability by process type; every named series must be on the measured list for its engine; engine-independent rules must name both). - homepage docs.html/services.json: frank-medium sees pictures, frank-large is CIRU Orca with a single seat (was halogen w4b, two seats, 200k). - docs: radiance runbook is ACTIVE (deployed flags, three-arm battery, verified capabilities, rollback, replica-era sections labelled); llama.cpp runbook carries the SUPERSEDED banner; Dual-R9700-Cooperation states the measured verdict; Observability records the namespace split and the DNAT lesson; AGENTS.md topology/frank-medium/Model Config/Benchmarking Policy/runbook index flipped; both indexes updated; work-log entry added. Also repaired agent-pass damage: prose prepended above frontmatter openers, duplicated runbook bodies, a literal tool-call token pasted into a runbook, and an index destroyed by diff artifacts (restored from HEAD, flips re-applied). Vault link check: 128 pages, 0 unresolved. ./tests/run.sh: 325 pass.
12 KiB
LLM Fleet — Knowledge Base
Documentation for the LLM inference fleet on the two hosts (2026-09-20): vllm-radiance on Dankserver serving frank-medium as ONE tensor-parallel process across both Radeon AI PRO R9700 cards (just1moremodel Qwen3.8-27B-Uncensored MXFP4-awq + the z-lab DFlash2-FP8 drafter, TP=2 over the R4D one-shot allreduce), and TWO endpoints on Dankclaw — the CIRU v4.4.1 runtime (frank-large, jcbtc Qwen3.8-Flash-CIRU-STRIX-Orca w4b on the gfx1151 iGPU, port 7770) and mainline llama.cpp (frank-small, HauhauCS Gemma4-12B QAT Q4_K_M with MTP and vision on the RTX 3090, port 7771).
2026-08-22: the former
vllmScriptsrepository is merged into the serverAppConfigs repository. This knowledge base moved from the old repo'sserverAppConfigs-docs/root toserverAppConfigs-docs/LLM/. The fleet scripts and units now live in the repo'sscripts/directory.
Deployment Topology
graph LR
subgraph Dankserver[AMD Dankserver - Ubuntu 26.04]
A[2x Radeon AI PRO R9700
gfx1201, 32 GiB each]
B2[vllm-radiance 0.9.3, TP=2
frank-medium, port 7770]
C[Qwen3.8-27B MXFP4-awq + DFlash2-FP8
ONE process on both cards, 262144 ctx, up to 8 seqs]
A --> B2 --> C
end
subgraph Dankclaw[AMD Strix Halo - Ubuntu 26.04]
E2[RTX 3090 (PCIe x4 dock) +
gfx1151 iGPU 64 GiB unified memory]
E[CIRU v4.4.1 runtime
frank-large, port 7770]
F[jcbtc Qwen3.8-Flash-CIRU-STRIX-Orca w4b
262144 ctx / 1 slot, MTP depth 4 + PLE]
G[mainline llama.cpp 37b53fd
frank-small, port 7771]
H[Gemma4-12B QAT Q4_K_M
4 x 262144 ctx, MTP + vision + audio]
E2 --> E --> F
E2 --> G --> H
end
CLI[LLM Clients / API] -->|HTTP :7770| B2
CLI -->|HTTP :7770| E
CLI -->|HTTP :7771| G
Servers
| Server | GPU | VRAM / Memory | OS |
|---|---|---|---|
| Dankserver System Specs | 2x AMD Radeon AI PRO R9700 | 2x 32 GB VRAM, 60 GB RAM | Ubuntu 26.04 |
| Dankclaw System Specs | AMD Radeon 8060S (Strix Halo) | gfx1151 unified memory | Ubuntu 26.04 |
Active Deployment
- frank-medium-radiance-mxfp4 — the ACTIVE frank-medium runbook since 2026-09-20: vllm-radiance MXFP4 (stilldeadcode/vllm-radiance:0.9.3 + ggz14/radiance-vllm-mxfp4 patches) serving just1moremodel/Qwen3.8-27B-Uncensored-MXFP4-awq with the z-lab DFlash2-FP8 drafter as ONE tensor-parallel process (TP=2) behind :7770 — the three-arm battery that chose it, the auto-sized 943,581-token KV pool, verified capabilities (tools, reasoning, vision), and the record of the 2026-09-16 two-replica era
- frank-medium-llamacpp-dflash2 — RETIRED 2026-09-16 → 2026-09-20: mainline llama.cpp serving orcarouter/Qwen3.8-27B-Uncensored-GGUF at Q8_0 with the DFlash2 Q4_K_M drafter as ONE layer-split process (32:33 over two 163,840-token slots); superseded by the radiance TP=2 cutover, and the rollback target. Keeps the batch/ubatch optimum curve and the per-layer split arithmetic
- Dual-R9700-Cooperation — whether the two R9700s can serve ONE model: the RCCL/PCIe-atomics wall on the old TUF GAMING B650-E, the 2026-09-20 ProArt B850-Creator x8/x8 swap that cleared it, and the measured three-way verdict (radiance TP=2 95.8 t/s decode vs layer split 45.7 vs llama tensor mode 30.5) that put TP=2 in production
- frank-medium-rocmfpx — PRIOR frank-medium deployment (llama.cpp era, 2026-09-15): charlie12345/ROCmFPX serving kingjones777/Qwen3.8-27B-ROCmFPX-Q8_0-AGENT-GGUF; kept as the record of the runtime it replaced
- freetoken-frank-small — RETIRED 2026-09-15, when the RTX 3090 moved to frank-large: the FreeToken v0.1.2 frank-small runbook (batsclamp Huihui-Qwen3.6-35B-A3B-abliterated-FP8), kept as the retirement record. The NAME was reused on 2026-09-16 by a different service on Dankclaw — see frank-small-qwen38-gsq-rco
- freetoken-benchmark-sweep — KV pool vs decode speed sweep (bs1/bs3/bs4/bs6, 8k–700k KV) on Dankserver RTX 3090
- deployment — deploy and update process for both servers
- frank-redo-2026-08-17 — the 2026-08-17 topology change
- frank-large-ciru-orca — ACTIVE frank-large runbook since 2026-09-19 (root systemd unit, port 7770): the CIRU v4.4.1 runtime (private host build, QSA hotfix) serving jcbtc/Qwen3.8-Flash-CIRU-STRIX-Orca w4b on the gfx1151 iGPU — one 262,144-token conversation, MTP depth 4, 4096 MiB PLE cache, runtime-root gate, client contract, troubleshooting
- halogen-flash-server — RETIRED 2026-09-19 (replaced by frank-large-ciru-orca; rollback target): peonist-ai halogen-flash-server 0.5.8 serving peonist-ai/halogen-qwen3.8-flash-next (Qwen3.8-Flash-Next w4b .hgn + quality overlay) on the gfx1151 iGPU — two 200k conversations over one 400,384-position pool, deployed flags, memory model, client contract, troubleshooting (2026-09-16 → 09-19)
- frank-small-gemma4-12b — ACTIVE frank-small runbook since 2026-09-17
(root systemd unit, port 7771): mainline llama.cpp serving
HauhauCS/Gemma4-12B-QAT-Uncensored-HauhauCS-Balanced Q4_K_M on the RTX
3090, with the separate MTP assistant sidecar chained behind ngram-mod,
q8_0 KV, and
--fitsizing the full 262k window into ~12 GiB. A same-day vLLM detour (2026-09-19) was reverted the same day; see below. - frank-small-vllm-gemma4 — RETIRED 2026-09-19 (same-day revert, rollback target): vLLM serving google/gemma-4-12B-it-qat-w4a16-ct (w4a16 Marlin) with the bf16 MTP assistant on the RTX 3090 — bf16 KV, 289,647- token pool, 2 concurrent full-context sessions, native text+image+audio.
- frank-small-qwen38-gsq-rco — RETIRED 2026-09-17 (rollback target): the prior frank-small runbook (2026-09-16 → 09-17), ISTA-DASLab Qwen3.8-27B-GSQ-RCO IQ3_S with the model's own in-file MTP head and f16 KV at 131k
- x4-pair-experiment — MEASURED 2026-09-16: what mainline llama.cpp can and
cannot do with the 3090 + Strix Halo pair, over their only link (the 3090's
Gen4 x4). The tensor inventory that decides any split, the single flag (
-ot) that kills per-tensor placement across devices, the two-device layer splits that work (+7 % decode at 64k, cross-vendor included), the harness-parsing trap that invalidated the first round, and the iGPU-only result that matches halogen's deployed decode rate — at a memory cost the co-tenants cannot pay - frank-large-ik-uncensored — RETIRED 2026-09-16 (rollback target): the ik_llama.cpp runbook (root systemd unit, 2026-09-15 → 09-16) serving mradermacher/Qwen3.8-Flash-Next-Uncensored-i1-Q4_K_M on the RTX 3090 (dense/attention/KV) + LPDDR (experts/PLE) hybrid; its measured envelope and decode root-cause chain are the record of why the fleet went back to halogen
- dankclaw-iommu-translation-off — why Dankclaw boots with
amd_iommu=offsince 2026-09-11 (13-16 % prefill, measured upstream), what it cost (the NPU endpoint), what was deliberately not copied from the reference machine, and how to revert - kingjones-strix-rocmfp4 — PRIOR frank-large runbook and rollback target: kingjones777/Qwen3.8-Flash-Next-ROCmFP4-STRIX-GGUF, 177B params (56B MoE + 51.2B PLE), single 113.47 GiB GGUF, on the card's pinned kingjones30/ROCmFPX fork (2026-08-30 → 2026-09-11)
- ubatch-benchmark-large — active-model llama-bench ubatch sweep plan and results
- frank-medium-batch-ubatch — batch/ubatch sweep on the 2x R9700 layer split (2026-09-16): the ubatch optimum at 512, why the logical batch is free, and the split rebalance that followed it
- kingjones-q8agent-rocmfpx — the retired Q8_0-AGENT investigation and
set_rowsfailure - eemin-rocmi4-mtp — the former caf-eemin Qwen3.8-27B embedded-MTP model on Dankclaw (retired)
- dealign-ornith-crack — the retired Ornith-1.5-35B-A3B CRACK model on Dankserver (frank-small, retired 2026-09-02)
- ikllama-ornith-dankserver — the retired ik_llama.cpp runtime for frank-small (2026-08-26): q8_0 + Hadamard KV cache, split-mode none (single-GPU), mandatory FA_ALL_QUANTS build flags
- kingjones-strix-mtp — the former Q6 AGENT runbook (restored 2026-09-01 after Q8_0 failure, then superseded by the STRIX deployment on 2026-08-27)
- ciru-activefpx-promptforge — the RETIRED v3 CIRU PromptForge runtime on Dankclaw (superseded 2026-08-24 by the kingjones ROCmFP4 model)
- kairic-edge — the retired Kairic Edge IU4 experiment (deployed and reverted 2026-08-22)
- Dankserver System Specs — the 2x R9700 box (frank-medium)
- Dankclaw System Specs — the Strix Halo gfx1151 box (frank-large on the CIRU v4.4.1 runtime since 2026-09-19, frank-small on the RTX 3090)
- frank-npu — RETIRED 2026-09-11: the FLM NPU sight+sound endpoint on Dankclaw (Gemma4 E4B vision+audio pack, XDNA2, port 7771), kept as the retirement record — the IOMMU/SVA err=-19 root cause and where every dependent route moved
CIRU Reference (Dankclaw)
- ciru-activefpx-promptforge — the RETIRED v3 model, ROCm 7.15 toolchain, and build history (on Dankclaw; the slot now serves the kingjones ROCmFP4 model, see kingjones-strix-mtp)
- kairic-edge — Kairic Edge IU4 runtime: build runbook, binary identity, and experiment summary (retired 2026-08-22)
DFlash2 Reference (archived)
- dflash2-large-vulkan — the retired DFlash2 Vulkan deployment (2026-08-21)
vLLM Reference (historical)
- VLLM Overview — installation, CLI, API, architecture, quantization, parallelism
- VLLM Index — quick reference with commands, endpoints, and parameter table
- Running Qwen3.6 35B A3B FP8 on Dankserver — Qwen3.6-35B-A3B hardware notes and sizing (this architecture family is what the retired frank-small served in the Huihui abliterated FP8 variant — see freetoken-frank-small; the Ornith-1.5-35B-A3B CRACK checkpoint that preceded it is archived at dealign-ornith-crack)
Memory Management
- RAM CPU Offloading in VLLM — KV cache swap between GPU VRAM and system RAM
- Hybrid CPU GPU Processing Dankserver — NVIDIA GPU compute with system RAM offload
- Shared Memory Architecture Dankclaw — AMD unified memory and ROCm configuration
Retired Topology (2026-08-17 redo)
- Qwen3.8 PP Deployment — the retired pipeline-parallel head + worker
- qwen3.8-spec-matrix — Qwen3.8-27B spec history (superseded by FastMTP)
- FastFlowLM NPU Inference — the retired FastFlowLM NPU endpoint
- frank-large-benchmark — backend/spec benchmark behind the old head
- dankserver-vram-growth — VRAM/RAM growth behind the retired cuBLAS crash
- DFlash DSpark Speculative Decoding — retired DFlash/DSpark drafting
- Quantization by Hardware Architecture — which quant format fits which GPU/CPU
Pipeline Parallelism (archive)
- Pipeline Parallelism/index — index of multi-node inference research. The PP pair is retired. These pages are research history.
Runtime Research (llama.cpp family)
- Llama Cpp Runtimes — mainline vs charlie12345/ROCmFPX vs ik_llama.cpp: positioning, quantization, server fit
- Llama Cpp Code Diff — code-level quantization diff of the three runtimes + server recommendations
- SGLang — the structured-generation serving engine; when it fits Dankserver (2x R9700) vs Dankclaw (Strix Halo)
Related
- Project knowledge base — the Podman app stacks on the same
two hosts. OpenWebUI (Dankclaw) consumes the on-host
frank-largeendpoint at:7770. The Gitea instance on Dankclaw hosts this repository. - Deployment Flow — the service-scoped git-based deploy with inference isolation