frank-medium: serve the whole 262144-token window, and repoint every signal to llama.cpp
Context: 262144 was measured before it was deployed -- 24.72 GB on GPU 0 and 29.14 GB on GPU 1 of 34.21 GB each, ~5 GB of headroom on the busier card, and a 140,069-token prompt prefilled through the single slot in 134 s to prove the window is real. The 114688 wall was the vLLM predecessor's arithmetic, not this runtime's. Throughput, measured through the service: 1.0-1.4k tok/s prefill from 4k to 140k, 43.8 tok/s decode on a 512-token generation, 41-71 % DFlash2 acceptance, and the prefix cache re-prefilling 4 of 998 tokens on a repeated prompt. The signals move with the runtime, so the fleet's rules and dashboard are re-cut rather than renamed: vllm: series do not exist any more, and two of the old rules watched things llama.cpp does not export at all (KV-pool fill, p95 latency). Those are retired with the reason written down, and LlmSpecDecodeOff takes one of the slots -- a lost drafter is the failure no client can see. The observability seam now fails if any rule names a series the endpoint does not export, which is what would have caught the stale vllm: expressions. omp models.yml (outside the repo) is updated in the same pass: contextWindow 262144, and the full reasoning-effort map, because Qwen3.8's template answers 500 on 'high' -- verified against the live endpoint, low/medium/xhigh answer 200. Subagents run at high.
This commit is contained in:
+21
-13
@@ -50,11 +50,19 @@
|
||||
# in the attention layers only, plus ~0.16 GiB per sequence of f32 DeltaNet
|
||||
# state at any depth.
|
||||
#
|
||||
# SIZING (per card, 31.86 GiB): weights split ~14.7 GiB; the drafter rides one
|
||||
# card; KV at CTX_SIZE 131,072 is 8.00 GiB total (~4 GiB per card, since the 16
|
||||
# attention layers are split with everything else); the loader's compute buffers
|
||||
# complete the ledger. Read the loader's own "KV self size" / "compute buffer
|
||||
# size" lines rather than trusting this arithmetic.
|
||||
# SIZING, measured (rocm-smi, 2026-09-16). Weights split across the two cards;
|
||||
# the drafter rides the second. The loader's compute buffers are part of what
|
||||
# is seen below -- they are allocated at load, not per request:
|
||||
#
|
||||
# CTX_SIZE GPU 0 GPU 1 headroom on the busier card
|
||||
# 131072 19.89 GB 24.30 GB 9.9 GB / 31 %
|
||||
# 262144 24.72 GB 29.14 GB 5.07 GB / 15 % <- deployed
|
||||
#
|
||||
# 262144 is the window the model ships (n_ctx_train) and it fits with room, so
|
||||
# the fleet gets the whole thing; the arithmetic that used to cap this endpoint
|
||||
# at 114688 was the vLLM predecessor's, not this runtime's. If a future change
|
||||
# adds VRAM (a longer drafter, quantized KV, more slots) re-read the numbers
|
||||
# rather than assuming, and prefer CTX_SIZE over --gpu-layers.
|
||||
#
|
||||
# WARNING: do not name any variable TEMP, HOST, or GPU_MAX_HEAP_SIZE (HIP reads
|
||||
# those bare vars; 2026-08-13 incident). llama.cpp takes --host/--port/--temp
|
||||
@@ -74,9 +82,9 @@ DRAFT_MODEL_FILE=Qwen3.8-27B-DFlash2-Q8_0.gguf
|
||||
ALIAS=frank-medium
|
||||
BIND_ADDR=0.0.0.0
|
||||
LISTEN_PORT=7770
|
||||
|
||||
# Placement. HIP_VISIBLE_DEVICES hides the iGPU; DEVICES is llama.cpp's own
|
||||
# list, which is the pair the split runs across.
|
||||
# Device placement. HIP_VISIBLE_DEVICES hides the Raphael iGPU (HIP device 2)
|
||||
# so nothing can drift onto shared system RAM; DEVICES is what llama.cpp splits
|
||||
# across, and neither of the two cards has an XGMI link to the other.
|
||||
HIP_VISIBLE_DEVICES=0,1
|
||||
DEVICES=ROCm0,ROCm1
|
||||
SPLIT_MODE=layer
|
||||
@@ -88,11 +96,11 @@ NGL=999
|
||||
FIT=off
|
||||
FLASH_ATTN=on
|
||||
|
||||
# One slot at the model's documented-configured window. --parallel divides
|
||||
# --ctx-size between slots; it does not multiply. The target model ships
|
||||
# n_ctx_train 262144 -- raising CTX_SIZE is a measurement, not a guess (watch
|
||||
# the per-card ledger), and this service was deployed at 131072 first.
|
||||
CTX_SIZE=131072
|
||||
# One slot at the model's full configured window (n_ctx_train 262144), which was
|
||||
# measured to fit before it was deployed: see SIZING above. --parallel DIVIDES
|
||||
# --ctx-size between slots, so one slot carries the whole window and a second
|
||||
# concurrent request queues behind it.
|
||||
CTX_SIZE=262144
|
||||
PARALLEL=1
|
||||
|
||||
BATCH_SIZE=2048
|
||||
|
||||
Reference in New Issue
Block a user