Conflict resolved: frank-primary row from the branch (w4 chain), frank-secondary row from main (Qwen3.5-9B swap of 2026-10-07).
532 lines
32 KiB
Markdown
532 lines
32 KiB
Markdown
# LLM Fleet — Knowledge Base
|
||
|
||
**Dankserver runs the radiance engine (StillDeadcode) on frank-primary**
|
||
(digest-pinned `stilldeadcode/radiance` image, engine as entrypoint,
|
||
driving `podman run` directly, root systemd unit, :7770): the OFFICIAL
|
||
`Qwen/Qwen3.8-Flash-Next-FP8` checkpoint at NATIVE block-FP8 precision
|
||
(converted no-recipe to `qwen4exp-fp8-native.rad` — see the runbook for
|
||
the descriptor-staging law), on BOTH R9700s TP=2 (`--tp-wire wht6`),
|
||
experts in a 40 GiB/rank pinned host pool + VRAM cache (ratio 0.82), the
|
||
47.7 GiB PLE table pinned to host RAM, fp8 KV, MTP spec decode depth 3,
|
||
2 × 200,000 first boot. Rollback tags frank-primary-freetoken-pr587-20261005
|
||
and frank-primary-vllm-shapeG-20261003),
|
||
and Dankclaw runs two endpoints — **halogen-flash-server 0.16.2
|
||
(frank-large, port 7770: ghcr.io/peonist-ai/halogen-flash-server @ pinned
|
||
digest serving the Quat3rnion ABLITERATED Swift1.5 finetune of
|
||
Qwen3.8-Flash-Next v2, a ~62 GiB v2 .hgn that loads in no other engine,
|
||
MTP spec decode always-on (HALOGEN_SPEC_ADAPT=0), TWO slots at 200,192
|
||
ctx, vision ON)** and
|
||
**llama.cpp CUDA (frank-secondary, port 7771: HauhauCS Gemma4-26B-A4B QAT
|
||
Uncensored Q4_K_M GGUF — 26B MoE hybrid (25 sliding-window + 5 full-attention
|
||
layers), ONE 200,704-token conversation, MTP disabled,
|
||
q8_0 K + q8_0 V (FP8 class), vision via the publisher's own BF16
|
||
mmproj, on the RTX 3090)**.
|
||
|
||
> 2026-08-22: the former `vllmScripts` repository is merged into the
|
||
> serverAppConfigs repository. This knowledge base moved from the old repo's
|
||
> `serverAppConfigs-docs/` root to `serverAppConfigs-docs/LLM/`. The fleet scripts and units now live in the
|
||
> repo's `scripts/` directory.
|
||
|
||
## Deployment Topology
|
||
|
||
```mermaid
|
||
graph LR
|
||
subgraph Dankserver[AMD Dankserver - Ubuntu 26.04]
|
||
A[2x Radeon AI PRO R9700
|
||
gfx1201, 32 GiB each]
|
||
B2[radiance StillDeadcode, digest-pinned image
|
||
podman run, frank-primary, port 7770]
|
||
C[Qwen3.8-Flash-Next FP8 OFFICIAL, native block-FP8
|
||
2x R9700 TP=2 wht6, experts 40 GiB/rank pinned pool + VRAM,
|
||
PLE 47.7 GiB pinned RAM, fp8 KV 7.32 KiB/tok, MTP depth 3,
|
||
2 x 200000, froggeric v22.5]
|
||
end
|
||
|
||
subgraph Dankclaw[AMD Strix Halo - Ubuntu 26.04]
|
||
E2[RTX 3090 (PCIe x4 dock) +
|
||
gfx1151 iGPU 114 GiB GTT]
|
||
E[flash-server container gfx1151, digest-pinned image
|
||
frank-large, port 7770]
|
||
F[flash-server v2 abliterated Swift1.5 .hgn + ngram table + vision tower
|
||
2 x 200192 ctx, MTP always-on, image input]
|
||
G[llama.cpp master CUDA sm_86
|
||
frank-secondary, port 7771]
|
||
H[Gemma4-26B-A4B QAT Uncensored Q4_K_M GGUF
|
||
1 x 200704 ctx, q8_0 K + q8_0 V, MTP off, mmproj vision]
|
||
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\|Dankserver]] | 2x AMD Radeon AI PRO R9700 | 2x 32 GB VRAM, 246 GB RAM | Ubuntu 26.04 |
|
||
| [[Dankclaw System Specs\|Dankclaw]] | AMD Radeon 8060S (Strix Halo) | gfx1151 unified memory | Ubuntu 26.04 |
|
||
|
||
## Active Deployment
|
||
|
||
- [[frank-large-flash-server-v2-swift15]] — **ACTIVE since 2026-10-06**
|
||
(root systemd unit + podman, port 7770): the digest-pinned
|
||
`ghcr.io/peonist-ai/halogen-flash-server` 0.16.2 engine serving the
|
||
Quat3rnion ABLITERATED Swift1.5 finetune of peonist's
|
||
Qwen3.8-Flash-Next v2 checkpoint (`qwen38-flash-next-v2-swift15-abliterated.hgn`,
|
||
66.7 GB compacted r2 of the card's 89.8 GB append-only original,
|
||
sha256-verified) with the REQUIRED n-gram lookup table (51.2 GB,
|
||
@peonist 5cc17cea) and the vision tower (897.9 MB, @e053f488) beside
|
||
it. TWO slots of 200,192 ctx, MTP head ALWAYS ON (`HALOGEN_SPEC_ADAPT=0`
|
||
— the adaptive default turns the head off per request and halves
|
||
decode), server-side sampler at the card's 1.0/0.95/20, coupled
|
||
cap/timeout 65536/7200, prompt cache ON by default (the 27B engine's
|
||
manual `HALOGEN_CACHE_MB` pin era is over — warm 100k turn ≈ 2 s vs
|
||
≈ 88 s cold). Vision ON (image_url parts only). Card: 53-57 t/s
|
||
greedy, ~1,640 t/s prefill at 34k, ~72 % fewer thinking tokens.
|
||
Rollback: revert the swap commit; the 27B payload + fetch script stay
|
||
on disk
|
||
- [[frank-large-halogen27b-dflash2]] — **RETIRED 2026-10-05 → 10-06
|
||
(rollback target; payload + fetch script + image on disk)**: the
|
||
digest-pinned `ghcr.io/peonist-ai/halogen` 0.1.4 engine serving
|
||
`peonist-ai/halogen-qwen3.8-27b` (`qwen3.8-27b-p1w4d-d2.hgn`, 33.4 GiB)
|
||
— DFlash2 drafter, ONE 200,700 slot, text-only (the engine ignored the
|
||
vision encoder), censored base. Owns the measured lessons: the prompt
|
||
cache pin (`HALOGEN_CACHE_MB=16384` — auto was OFF at the 36.9 GB
|
||
two-entry floor; a 17.3k cold prefill of 27.0 s resumed in 1.7 s warm),
|
||
the FA tile rejection (`HALOGEN_FA_TQ=256`: prefill −9.5 %, decode
|
||
±0.3 %), and deep decode at 3.3-3.8 t/s@80k being structural. The
|
||
foreground-`podman run` ledger capture and the deep-role rerouting
|
||
(`slow`/`advisor` → frank-primary) carried forward. Superseded by the
|
||
MODEL swap: the abliterated v2 .hgn loads only in flash-server, so the
|
||
engine moved with the model
|
||
- [[frank-secondary-llama-qwen35-9b-q6k-2x200704]] — **ACTIVE since 2026-10-07**
|
||
(root systemd unit, port 7771): llama.cpp master (CUDA sm_86) serving
|
||
HauhauCS/Qwen3.5-9B-Uncensored-HauhauCS-Aggressive **Q6_K** on the RTX 3090
|
||
— TWO 200,704-token conversations (`--ctx-size 401408 --parallel 2`), exact
|
||
f16 K + f16 V, vision via the publisher's BF16 mmproj. MTP is OFF because
|
||
the file has no MTP tensors at all. Priced from the MiMo Q6_K boots (same
|
||
qwen35 geometry, same card, same shape). Supersedes the Gemma4 era (below).
|
||
- [[frank-secondary-llama-gemma4-q4km-200704]] — **RETIRED 2026-10-07** (same
|
||
day; superseded by qwen35-9b-q6k; payload on disk as rollback): llama.cpp
|
||
master (CUDA sm_86) serving HauhauCS/Gemma4-26B-A4B-QAT-Uncensored-
|
||
HauhauCS-Balanced-MTP **Q4_K_M** on the RTX 3090 — ONE 200,704-token
|
||
conversation, f16 K + q8_0 V, vision via the publisher's mmproj. MTP was
|
||
OFF (the gemma4-assistant drafter costs ~1.9 GiB: 23,806 used/319 free with
|
||
it, 21,890/2,235 without).
|
||
- [[frank-secondary-llama-swift15-unc-iq3xxs-mtp-114688]] — **RETIRED
|
||
2026-10-07** (superseded by gemma4-q4km; payload on disk as rollback);
|
||
ACTIVE 2026-10-05 (evening) → 2026-10-07; UNCECERSED RCO-IQ3_XXS with
|
||
MTP back on since
|
||
2026-10-06 evening; RENAMED from frank-small and reshaped to 2 ×
|
||
114,688 / ubatch ladder 512 → 1024 → **2048** late 2026-10-06** (root
|
||
systemd unit, port
|
||
7771): llama.cpp master
|
||
(CUDA sm_86) serving ajgazin/Swift-1.5-Qwen3.8-27B-Uncensored-Dynamic-MTP-
|
||
GGUF **RCO-IQ3_XXS-mtp** (27B; the MTP head in the file is DRAFTED —
|
||
draft-mtp depth 3, ngram skipped on the recurrent-rollback law) on the
|
||
RTX 3090, TWO 114,688-token conversations at Frank's 112k cap (pool
|
||
229376 / parallel 2 — cut from 131,072 to fund the ubatch rungs;
|
||
**1,005 MiB free at boot, 763 settled after a vision probe**) with
|
||
q8_0 K + q8_0 V (FP8 class, 34 KiB/token vs 64 at f16) and
|
||
vision through the publisher's own mmproj-BF16.gguf. Prefill 1,209
|
||
t/s @ 3,760; decode ~52–58 t/s recipe (ubatch-invariant; acceptance
|
||
noise 34–54 %).
|
||
RCO-IQ3_XXS tier is a per-tensor allocation mix of stock types; the
|
||
payload is the UNCECERSED Swift 1.5 (23/100 refusals vs Swift 1.5's
|
||
98/100). Replaces BOTH same-day payloads: the live MiMo Q6_K shape
|
||
(below) and the Ornith-1.5-9B Q8_0 swap that was committed
|
||
(77decb5..380aafa) but never deployed
|
||
- [[frank-secondary-llama-mimo-q6k-2x200704]] — **RETIRED 2026-10-05 (evening;
|
||
rollback target; payload on disk)**: llama.cpp master (CUDA sm_86)
|
||
serving bartowski/MiMo-V2.6-Distill-Qwen-9B-GGUF **Q6_K**, TWO slots of
|
||
200,704 with FULLY UNQUANTIZED KV (f16 K + f16 V) and the mmproj for
|
||
vision — 94.4 tok/s decode (the rung costs a measured -10 % vs Q5_K_M:
|
||
weight-bandwidth-bound), batch 4096 / ubatch 2048 since 2026-10-05
|
||
(+4.6 % prefill, measured), 2,279 MiB of the card left free. This was
|
||
the LIVE payload when Swift cut over. The ubatch A/B table and the
|
||
probe-size trap (>=256 px images or the model says "video") live inside
|
||
- [[frank-secondary-llama-mimo-q5km]] — **RETIRED 2026-10-02 → 10-03 (rollback
|
||
target; payload on disk; owns the measured boot-pair table)**: the same
|
||
runtime and the same 2 x 200,704 + f16 KV shape one quant rung lower —
|
||
104.8 tok/s, 3,571 MiB true free
|
||
- [[frank-primary-radiance-swift15-w4dn8]] — **STAGED (campaign running)**:
|
||
Swift1.5 Qwen3.8-Flash-Next BF16 → GPTQ-calibrated W4Dn8 `.rad` on radiance
|
||
1.0.13 (recipe + 10M-token calibration + KLD gate vs the BF16 container);
|
||
replaces the FP8-native payload when the gates pass
|
||
- [[frank-primary-radiance-qwen38-native-fp8]] — **ACTIVE since 2026-10-05**
|
||
(root systemd unit, port 7770): the StillDeadcode **radiance** engine
|
||
(C++/HIP, libr4d gfx1201 kernels, digest-pinned 287 MiB image, engine as
|
||
the image entrypoint) serving the OFFICIAL `Qwen/Qwen3.8-Flash-Next-FP8`
|
||
checkpoint at NATIVE precision — converted no-recipe to
|
||
`qwen4exp-fp8-native.rad` (~161 GiB) after dropping `quantization_config`
|
||
in a staging dir (the plugin descriptor-selection law: nothing claims
|
||
`(qwen4exp, "fp8")`, the shipped plugin claims `(qwen4exp, "")`;
|
||
per-weight encodings are data, not the descriptor) — on BOTH R9700s
|
||
**TP=2** (`--tp-wire wht6` fused all-reduce), experts in a 40 GiB/rank
|
||
pinned host pool + VRAM cache (ratio 0.82 = the measured 99 %-hit point),
|
||
the 47.7 GiB PLE n-gram table PINNED to host RAM (`--ngram-placement
|
||
ram`), fp8 KV 7.32 KiB/token, MTP spec decode depth 3, 2 × 200,000 first
|
||
boot, froggeric v22.5 template, vision + tools + `reasoning_content` auto,
|
||
`/metrics` scraped. Rollback: git tag
|
||
`frank-primary-freetoken-pr587-20261005` (FreeToken image + orcarouter
|
||
payload on disk); older rollback `frank-primary-vllm-shapeG-20261003`
|
||
- [[frank-primary-freetoken-pr587]] — **RETIRED 2026-10-05 (same day;
|
||
rollback target)**: FreeToken at PR #587 head `77a7201` (branch
|
||
rocm714_torch214) built on the host into the local image
|
||
`frank-primary-freetoken:pr587-77a7201` (Dockerfile: digest-pinned
|
||
rocm/pytorch rocm7.14 torch-2.11.0 base, libhiprtc dev-symlink law,
|
||
curated --no-deps install per docs/install_amd.md), serving the SAME
|
||
orcarouter FP8 payload on ONE R9700 — experts in pinned host RAM
|
||
(~120 GiB + 47.7 GiB PLE), GPU LRU at 0.10, KV pool 299,968 tokens
|
||
(multiple-of-64 law), 2 slots, parsers AUTO (thinking →
|
||
`reasoning_content`). Measured: boot ~2.3 min, decode 17.1 tok/s
|
||
single-stream, vision "Red" probe passes, native tool_calls; TP=2 does
|
||
not boot on ROCm (pynccl JIT) — second card idle. Superseded by the
|
||
radiance swap for TP=2; the image + payload stay on disk until the
|
||
rollback window closes
|
||
- [[dankserver-qwen38-fp8-expert-offload-tuning]] — **RETIRED 2026-10-05
|
||
(rollback target; the vLLM trio + env lore live in the tag)**: the
|
||
tcclaviger RDNA4
|
||
vLLM fork serving orcarouter/Qwen3.8-Flash-Next-Uncensored-FP8 across both
|
||
R9700s, TP=2 with automatic expert offload — `--max-model-len 200704` x 3
|
||
slots, fp8 KV, pool 3,150,000,000 B/rank (measured 398,658 tokens = 1.99x),
|
||
MNBT 1024, gather 32x64, no spec decode, prefetch off, plus
|
||
`--expert-precise-memory` (arena 17.22 GiB / 7,522 slots), GPU_MAX_HW_QUEUES=2
|
||
and a mounted compile cache. Why `--max-num-seqs`
|
||
must stay 3 (SEQS 2 cannot compile this model), why the arena's levers are
|
||
`max_model_len` and the overhead term rather than the KV pool, and the measured envelope
|
||
- [[frank-primary-glm53-flash-w4a16]] — RETIRED 2026-09-30 → 10-01 (the
|
||
failed GLM experiment; frank-primary runs Qwen FP8 again, see the intro):
|
||
the tcclaviger RDNA4 vLLM fork
|
||
(digest-pinned `tcclaviger/vllm@sha256:da4029666…`, plain `podman run`,
|
||
no shim) serving Intel/GLM-5.3-Flash-W4A16-AutoRound — AutoRound symmetric
|
||
int4 group 128, ~170 GiB, 34 shards + 2 extras, 113,074 tensors — on BOTH
|
||
R9700s, TP=2, with the MoE experts offloaded to pinned host RAM (12,096
|
||
experts/rank, 73.64 GiB) behind a 14.51 GiB / 2,383-slot VRAM LRU arena; the
|
||
MoE kernel is libr4d's grouped W4A16 GEMM (`R4dW4a16MoEMethod`, reached
|
||
because the checkpoint's `quant_method: auto-round` is overridden to `inc` —
|
||
a compressed-tensors W4A16 checkpoint of the same model has NO offload recipe
|
||
and refuses to serve). 131,072 ctx x 2 seqs, bf16 KV, util 0.98, prefix
|
||
caching, vision and `glm47` tool/reasoning parsers, MTP OFF and prefetch OFF
|
||
by measurement. **Measured decode 9.9-10.0 tok/s, prefill 918 tok/s — the
|
||
35 tok/s target is NOT met, bounded by the fork's expert-gather read path
|
||
(~8.2 GB/s effective vs a 22.74 GB/s link) at a 0.53-0.66 cache hit rate.**
|
||
Rollback: commit `2339fae` (the qwen FP8 + MTP4 shape of 2026-09-29 → 09-30)
|
||
- [[frank-primary-r9v-radiance-qwen38-q8]] — RETIRED 2026-09-30 (two swaps
|
||
back; payload and R9V state dirs intact on disk, git tag
|
||
frank-primary-r9v-q8-20260929 is the last pre-cutover commit):
|
||
[[frank-primary-r9v-radiance-qwen38-uncensored]] — RETIRED 2026-09-27
|
||
(same-day swap to the Q8_0 payload; rollback target, state + payload
|
||
intact on disk): the R9V radiance-vLLM fork serving
|
||
Dyluhn/Qwen3.8-Flash-Next-Uncensored-R9V-IQ4_XS (92.39 GiB, 3 shards) +
|
||
blockfp8 MTP4 (depth 4) + F16 vision on BOTH R9700s — TP=2 tiered
|
||
experts (UVA pinned host copy, 62 hot + 160-slot LRU on rank 0, 428
|
||
static on rank 1), PLE n-gram on ssd-mmap, CED on, 196608 ctx. Cut over
|
||
from llama.cpp the same day; rollback target
|
||
[[frank-primary-llamacpp-qwen38-flash-next-q8]]
|
||
- [[frank-primary-llamacpp-qwen38-flash-next-q8]] — RETIRED 2026-09-27
|
||
(rollback target; the llama.cpp b11030 endpoint of 2026-09-26):
|
||
unsloth llama.cpp (b11030-mix prebuilt, ROCm gfx120X, bundled runtime)
|
||
serving unsloth/Qwen3.8-Flash-Next-GGUF at Q8_0 across both R9700s —
|
||
routed experts and the 51B-param n-gram table computed in host RAM
|
||
(`-ot exps=CPU,per_layer_token_embd.weight=CPU`), the shared Q8_0 MTP head
|
||
(depth 2) chained behind ngram-mod, BF16 vision, one full 262,144-token
|
||
conversation, `reasoning_content`, the placement law, the cutover and
|
||
rollback
|
||
- [[frank-primary-lucebox-ds4]] — RETIRED 2026-09-26 (same-day swap,
|
||
rollback target; active for hours): the Lucebox DS4.1 engine
|
||
(localhost/lucebox-rocm:gfx1201) serving
|
||
Lucebox/DeepSeek-V4.1-Flash-ROCMFP23 (377.2 GiB) with streamed experts —
|
||
the fleet's only non-llama.cpp runtime detour
|
||
- [[dankserver-frontier-moe-feasibility]] — VERIFIED 2026-09-28: which of
|
||
DeepSeek-V4.1-Flash (552B), MiMo-V2.6-Flash-MOPD (309B) and GLM-5.3-Flash
|
||
(320B) can run on the 2x R9700 box, on what runtime, and why V4.1 does not
|
||
fit (475 GiB payload, 189 GiB of it Engram; decode is PCIe-expert-stream
|
||
bound, ~23 tok/s ceiling at today's residency). Includes the Affinity
|
||
V4-Flash-to-V4.1 port assessment — reusable expert tiering, four
|
||
architecture gaps, one of them a silent-wrongness trap on the Engram key
|
||
- [[dankserver-qwen38-fp8-expert-offload-tuning]] — VERIFIED 2026-09-29:
|
||
the flag-level decode-tuning campaign on the ad hoc qwen-fp8 container
|
||
(tcclaviger RDNA4 fork, orcarouter/Qwen3.8-Flash-Next-Uncensored-FP8,
|
||
TP=2 across both R9700s). **>35 tok/s MET: 37.44-40.57 tok/s with
|
||
`--expert-prefetch` DELETED** — telemetry measured the prefetcher at
|
||
36% precision, wasting ~half the gather traffic (the LRU itself runs at
|
||
82.45% hit). Prefetch-on incumbent 26.8 survived every other challenger
|
||
(geometry, spec depth, TunableOp-corrupts, batch knobs, concurrency,
|
||
ngram-fork-bug); the residual gap to ~60 tok/s is the fork's gather
|
||
read path (6.5-9.5 GB/s effective vs 22.7 at the same slab size)
|
||
- [[frank-medium-radiance-mxfp4]] — RETIRED 2026-09-26 (replaced by
|
||
[[frank-primary-lucebox-ds4]], then
|
||
[[frank-primary-llamacpp-qwen38-flash-next-q8]]): vllm-radiance 0.9.3
|
||
serving just1moremodel/Qwen3.8-27B-Uncensored-MXFP4-awq (MXFP4/quark
|
||
W4A8) with the z-lab DFlash2-FP8 drafter as ONE tensor-parallel process
|
||
(TP=2) behind :7770, on unquantized bf16 KV (`KV_DTYPE=auto`, cut
|
||
2026-09-21). The FP8 checkpoint is the on-disk rollback. The three-arm
|
||
battery that chose TP=2, the auto-sized KV pool, and the verified
|
||
capability battery (tools, reasoning)
|
||
- [[frank-medium-model-swap]] — how to swap the checkpoint behind frank-medium:
|
||
the streamlining toolchain (hf-manifest.py, hf-fetch.sh,
|
||
swap-frank-medium.sh), the quantization-aware entrypoint contract, the
|
||
quadlet edit, the deploy, the capability battery, and the rollback path.
|
||
The 2026-09-20 MXFP4 → FP8 swap is the worked example
|
||
- [[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-secondary 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-secondary-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-rocmfpx-q6agent-uncensored-mtp]] — **RETIRED 2026-10-03 →
|
||
10-05 (rollback target; payload, fork build and build script on disk)**:
|
||
the pinned ROCmFPX fork serving the uncensored protected-heads
|
||
Q6_0_ROCMFPX_AGENT rung with the repo's MTP-Q4_0 head drafting 4 tokens,
|
||
one 262,144 window, f16 KV; measured 27.6-28.1 t/s prose decode at 86.8 %
|
||
acceptance. Replaced by the halogen DFlash2 endpoint; the ngram-mod-onto-MTP
|
||
rejection (-15 %, recurrent-state rollback) stays a live lesson for this
|
||
architecture.
|
||
- [[frank-large-rocmfpx-q8agent-mtp]] — **RETIRED 2026-10-02 → 10-03 (the
|
||
rollback target; payload still on disk)**: the same pinned ROCmFPX fork
|
||
serving the ALIGNED `Q8_0_ROCMFPX_AGENT` (ftype 115, 17.0 t/s, MTP
|
||
acceptance 0.462) — the MTP-vs-none +123 % A/B, the trap catalogue
|
||
- [[frank-large-gufo-qwen38-27b]] — **RETIRED 2026-10-02 (history; the
|
||
payload dirs were removed from disk 2026-10-03, so this rollback is a
|
||
re-download)** (root systemd unit, port 7770): gufo
|
||
(gufo-org/gufo) v0.1.1, the Strix Halo inference engine, built from
|
||
source on Dankclaw, serving unsloth/Qwen3.8-27B-GGUF **UD-Q4_K_XL**
|
||
with the z-lab DFlash2 Q4_K_M drafter — ONE session at the full native
|
||
262,144 window, unquantized f16 KV. Rolled back by Frank after one day
|
||
of [[frank-large-vllm-mimo-v26-bf16]]. The two from-source build
|
||
workarounds, the client-contract delta, the measured prefill/decode
|
||
trade against llama.cpp
|
||
- [[frank-large-vllm-mimo-v26-bf16]] — RETIRED 2026-10-01 (one day;
|
||
rollback by Frank after the autoresearch loop): the digest-pinned
|
||
kyuz0/vllm-therock-gfx1151 image serving
|
||
XiaomiMiMo/MiMo-V2.6-Distill-Qwen-9B in FULL BF16, 4 x 262144 ctx,
|
||
CROSS-MODEL MTP from Qwen/Qwen3.5-9B — kept for the measured record:
|
||
battery decode 6.19 t/s (MTP-2) vs 9.01 t/s (no draft — spec NET-
|
||
NEGATIVE on real chat+reasoning traffic), the roof math, the greedy-text
|
||
numerics trap, and the death of every ≥6-bit vLLM quant path on gfx1151
|
||
(quark int8 rejected, FP8 kernels CDNA-only, torchao unwired)
|
||
- [[frank-large-unsloth-qwen38-27b-q8xl]] — RETIRED 2026-09-28 (replaced by
|
||
[[frank-large-gufo-qwen38-27b]]; rollback target): stock llama.cpp
|
||
(unsloth b11030, ROCm gfx1151) serving
|
||
unsloth/Qwen3.8-27B-GGUF:UD-Q8_K_XL with the z-lab DFlash2
|
||
Q4_K_M drafter (depth 4) on the gfx1151 iGPU — one full 262,144-token
|
||
conversation, q8_0 KV (the build lacks fp8), text-only, Qwen-Sharp
|
||
v22.4.0 template, the 114 GiB GTT memory model, client contract,
|
||
troubleshooting
|
||
- [[frank-large-kairic-edge-qwen38-27b]] — RETIRED 2026-09-21 (same-day
|
||
swap, replaced by [[frank-large-unsloth-qwen38-27b-q8xl]]; rollback
|
||
target): the Kairic Edge runtime (ciru-ai/ROCmFPX v1.2, built from
|
||
source) serving jcbtc/Qwen3.8-27B-IU4-Kairic-Edge (IU4 W4A4, 27B dense)
|
||
on the gfx1151 iGPU — one full 262,144-token conversation, MTP depth 4 +
|
||
n-gram drafting, the three PromptForge sidecars, compatibility mode, the
|
||
114 GiB GTT memory model, client contract, troubleshooting
|
||
- [[frank-large-unsloth-qwen38-flash-next]] — RETIRED 2026-09-21 (same-day
|
||
swap, replaced by [[frank-large-kairic-edge-qwen38-27b]]; rollback target):
|
||
the unsloth llama.cpp prebuilt (b11030-mix-5ff778e, ROCm gfx1151) serving
|
||
unsloth/Qwen3.8-Flash-Next-GGUF:UD-IQ4_XS (125B MoE) on the gfx1151 iGPU —
|
||
one 200,000-token conversation, MTP depth 2 via the explicit -md shared-Q8_0
|
||
head, the 114 GiB GTT memory model, client contract, troubleshooting
|
||
- [[frank-large-ciru-orca]] — RETIRED 2026-09-21 (replaced by
|
||
[[frank-large-unsloth-qwen38-flash-next]]; rollback target): 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 (2026-09-19 → 09-21)
|
||
- [[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-secondary-llama-mimo-q6k]] — **RETIRED 2026-10-01 → 10-02** (the same
|
||
rung returned ACTIVE 2026-10-03 at the 2 x 200,704 f16-KV shape —
|
||
[[frank-secondary-llama-mimo-q6k-2x200704]]): llama.cpp (master, CUDA sm_86
|
||
build) serving
|
||
bartowski/MiMo-V2.6-Distill-Qwen-9B-GGUF **Q6_K** on the RTX 3090 — TWO
|
||
native 262,144-token sessions with ASYMMETRIC KV (K f16 unquantized + V
|
||
q8_0, which forces flash-attn), ~20.9/24.6 GiB measured, text-only (the
|
||
GGUF has no vision), reasoning_content, no spec decode; payload still at
|
||
`/home/dank/models/MiMo-Q6K/`
|
||
- [[frank-secondary-sglang-mimo-v26]] — RETIRED 2026-10-01 (hours; replaced
|
||
by [[frank-secondary-llama-mimo-q6k]] for the asymmetric KV SGLang cannot
|
||
express; venv still on disk, INT8 payload staged to
|
||
`~dank/.AGENTTRASH/20261002-retired-llm-payloads/`): SGLang in a
|
||
self-contained python3.12 venv serving leteschlead MiMo-V2.6 INT8
|
||
W8A16 AutoRound, 2 x 262144 ctx, fp8 KV, in-checkpoint vision,
|
||
83.9 tok/s decode
|
||
- [[frank-secondary-gemma4-12b]] — RETIRED 2026-09-17 → 2026-10-01 (replaced by
|
||
[[frank-secondary-sglang-mimo-v26]] → the llama.cpp MiMo shape; payload staged
|
||
to `~dank/.AGENTTRASH/20261002-retired-llm-payloads/Gemma4-12B-QAT/`):
|
||
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 `--fit` sizing the full 262k window into ~12 GiB.
|
||
- [[frank-secondary-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-secondary-qwen38-gsq-rco]] — RETIRED 2026-09-17 (rollback target): the
|
||
prior frank-secondary 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=off` since 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_rows` failure
|
||
- [[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-secondary, retired 2026-09-02)
|
||
- [[ikllama-ornith-dankserver]] — the retired ik_llama.cpp runtime for
|
||
frank-secondary (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-primary)
|
||
- [[Dankclaw System Specs]] — the Strix Halo gfx1151 box (frank-large on
|
||
the flash-server v2 runtime since 2026-10-06, frank-secondary 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-secondary
|
||
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)
|
||
|
||
## Cross-Cutting References (skill distillation, 2026-10-05)
|
||
|
||
One polished reference page per skill-cluster, distilled from the managed
|
||
skill library into the vault (see [log](../log.md) for the wave plan):
|
||
|
||
- [[GGUF Compatibility]] — what a GGUF's tensor histogram and header demand
|
||
of a loader; how the runtime is chosen by the file
|
||
- [[Llama Cpp Serving Sizing]] — slot/pool/KV sizing laws, boot-shape
|
||
laddering, llama-bench discipline
|
||
- [[Llama Cpp Multi-Device Splits]] — layer vs tensor splits, `-ts`/`-ot`
|
||
laws, drafter placement
|
||
- [[PCIe Link and Atomics]] — the link walls, atomics routing, and the
|
||
heterogeneous-pair verdicts
|
||
- [[RDNA4 Container Serving]] — bring-up recipes for RDNA4 containers
|
||
- [[RDNA4 MoE Expert Offload VRAM Budget]] — the plan law, every arena
|
||
lever, and why free VRAM is not arena
|
||
- [[vLLM Boot Forensics and Config Interrogation]] — reading a boot that
|
||
died, and interrogating a running fork's config
|
||
- [[vLLM Porting and Compile Triage]] — porting checkpoints across vLLM
|
||
versions/forks; torch.compile/dynamo breakage triage
|
||
- [[LLM Bench Windows and Measurement]] — window discipline, honest A/B,
|
||
the window script laws
|
||
- [[LLM Performance Diagnosis]] — slow prefill/decode triage on live
|
||
endpoints, IBS attribution, prefix-cache routing
|
||
- [[Model Swap and Rollback]] — the swap procedure, payload preflight,
|
||
research verification, second-endpoint bring-up
|
||
- [[Tcclaviger Fork Ops]] — the fork's sweep harness, measured knob
|
||
verdicts, large-MoE recipe, compile-cache persistence
|
||
- [[Heterogeneous Split Triage]] — triage for unequal-accelerator split
|
||
proposals (the no-go verdict format)
|
||
- [[FreeToken Builds]] — the CUDA and ROCm build paths with their
|
||
dependency traps
|
||
|
||
These sit alongside the operational pages under
|
||
`../Operations/index.md` and `../Agent/index.md`.
|
||
|
||
## Related
|
||
|
||
- [Project knowledge base](../index.md) — the Podman app stacks on the same
|
||
two hosts. OpenWebUI (Dankclaw) consumes the on-host `frank-large`
|
||
endpoint at `:7770`. The Gitea instance on Dankclaw hosts this repository.
|
||
- [Deployment Flow](../Architecture/Deployment%20Flow.md) — the service-scoped
|
||
git-based deploy with inference isolation |