fleet redo 2026-08-17: retire PP+NPU, new topology
- Move all previous scripts to old/scripts/ (retired PP/NPU-era) - frank-default-large: llama.cpp FastMTP on dankserver (HauhauCS Qwen3.8-27B IQ4_XS + FastMTP 32K draft + ngram-mod, K q8_0/V f16, 128K ctx, batch 2048/ubatch 1024, port 7770) - frank-default-small: vLLM ROCm on dankclaw (Avesed Qwen3.6-35B-A3B INT8 W8A8, full 262144 ctx, no KV quant, 4 seqs, batch 16384, ngram spec, port 52625) - retarget deploy.sh (dankserver/dankclaw, inline sudo, no helpers) - docs: deployment + index + AGENTS.md + README for new topology, superseded banners on retired docs, add frank-redo-2026-08-17 runbook
This commit is contained in:
1 parent
136ee080c9
commit
d9af7f1d19
45 files changed
+961
-469
No files matched your search
@@ -1,88 +1,58 @@
|
||||
# Head tunables — Qwen3.8-27B pipeline-parallel head (Dankclaw).
|
||||
# Tunables for frank-default-large (llama.cpp, dankserver, RTX 3090).
|
||||
#
|
||||
# The head is the LOCAL side of the split. It runs llama-server (b10433,
|
||||
# HIP+Vulkan+RPC build in /home/dank/llama.cpp/build) with --rpc pointing at
|
||||
# the worker on Dankserver. The model file lives on this machine only; the
|
||||
# worker receives its tensor share over the network at load time.
|
||||
# Runtime: patched llama-server (HauhauCS FastMTP build) serving
|
||||
# HauhauCS/Qwen3.8-27B-Uncensored-HauhauCS-Aggressive-MTP-GGUF IQ4_XS with
|
||||
# the FastMTP 32K draft sidecar and the ngram-mod fallback. Single machine,
|
||||
# no pipeline split. Alias frank-default-large, port 7770.
|
||||
#
|
||||
# CRITICAL: this script must NOT pass --device. When --device is set,
|
||||
# llama.cpp uses exactly that device list and silently drops the RPC device
|
||||
# (src/llama.cpp llama_prepare_model_devices). Default device selection
|
||||
# inserts RPC servers at the FRONT of the device list, so the split becomes
|
||||
# [RPC0, iGPU] and --tensor-split index 0 is the worker.
|
||||
#
|
||||
# WARNING: do not name any variable here TEMP, HOST, or GPU_MAX_HEAP_SIZE
|
||||
# (HIP runtime collision, see the 2026-08-13 TEMP incident).
|
||||
# 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).
|
||||
# This box is NVIDIA/CUDA, but the rule still applies to keep the env files
|
||||
# portable.
|
||||
|
||||
# Model files (downloaded to this directory from the HF repo).
|
||||
MODEL_DIR=/home/dank/models/hauhaucs-qwen38
|
||||
MODEL_FILE=Qwen3.8-27B-Uncensored-HauhauCS-Aggressive-IQ4_XS.gguf
|
||||
DRAFT_FILE=Qwen3.8-27B-Uncensored-HauhauCS-Aggressive-FastMTP-32K.gguf
|
||||
# Patched llama.cpp binary. The FastMTP sidecar needs the patch; see AGENTS.md.
|
||||
LLAMA_BIN=/home/dank/llama.cpp-fastmtp/build/bin/llama-server
|
||||
|
||||
MODEL_DIR=/home/dank/models
|
||||
MODEL_FILE=Qwen3.8-27B-Uncensored-Q6_K.gguf
|
||||
HEAD_BIN=/home/dank/llama.cpp/build/bin/llama-server
|
||||
ALIAS=frank-default-large
|
||||
BIND_ADDR=0.0.0.0
|
||||
LISTEN_PORT=7770
|
||||
|
||||
# Comma-separated RPC endpoints (host:port). One worker here.
|
||||
RPC_SERVERS=192.168.0.235:50052
|
||||
|
||||
# Model split fractions, one per device in order [RPC0, iGPU].
|
||||
# 0.68,0.32 = 45 of 65 blocks on the 3090 (blocks 0-44) - the maximum
|
||||
# for the Q6_K + q8_0/f16 KV config, measured 2026-08-17 phase 2:
|
||||
# - KV per FA layer = 784 MiB (K 1088 B/token + V 2048 B/token @262144)
|
||||
# - weights(f) = 20334 MB layer pool x f (GGUF scan, exact); embd on
|
||||
# the head side (RPC0 buffer observed 10429.88 MiB at f=0.53)
|
||||
# - KV-per-device count = round(f x 66) layers -> 45 layers = 11 FA
|
||||
# (3..43) -> 8624 MiB. 46 layers (f>=0.7045) still 11 FA but margin
|
||||
# drops to ~0.4 GiB; 48 layers (f>=0.7197) adds FA block 47 -> KV
|
||||
# 9408 -> OOM by ~0.85 GiB.
|
||||
# Predicted: 13430 (weights) + 8624 (KV) + ~530 (RS) + 189 (compute) =
|
||||
# ~22773 MiB -> ~0.7 GiB free. Draft model runs on ROCm0 only (measured
|
||||
# phase 1: 1718 MiB, no worker impact).
|
||||
TENSOR_SPLIT=0.68,0.32
|
||||
|
||||
# Context pool. 262144 total = 1 parallel slot x 262144 per slot
|
||||
# (n_ctx_seq = n_ctx / n_seq_max, llama-context.cpp:293).
|
||||
CTX_SIZE=262144
|
||||
# Context, single slot. 131072 (128K) leaves ~1.4 GiB VRAM headroom on the
|
||||
# 3090 with IQ4_XS + FastMTP + K q8_0 / V f16 KV. Lower to 122880 (120K) for
|
||||
# ~1.8 GiB headroom. KV per token = 16 attention layers x 4 KV heads x 256
|
||||
# dim: K q8_0 (1088 B/token) + V f16 (2048 B/token) = 3136 B/token/layer.
|
||||
CTX_SIZE=131072
|
||||
PARALLEL=1
|
||||
|
||||
# Speculative decoding. MTP with the STANDALONE draft head (the Q6_K
|
||||
# model has no bundled MTP head; the repo ships the draft sidecar) + the
|
||||
# ngram-mod fallback. Set SPEC_NONE=1 for a raw baseline.
|
||||
SPEC_NONE=0
|
||||
# Speculative decoding. FastMTP (MTP depth 2) with the ngram-mod fallback.
|
||||
SPEC_DEFAULT=1
|
||||
MTP=1
|
||||
SPEC_DRAFT_N_MAX=4
|
||||
# Standalone MTP draft head (Q8_0 MTP-only sidecar from the same repo).
|
||||
SPEC_DRAFT_MODEL=/home/dank/models/Qwen3.8-27B-Uncensored-draft-Q8_0.gguf
|
||||
SPEC_DRAFT_N_MAX=2
|
||||
SPEC_DRAFT_NGL=all
|
||||
SPEC_DRAFT_P_MIN=0
|
||||
SPEC_NGRAM_MOD_N_MIN=48
|
||||
SPEC_NGRAM_MOD_N_MAX=64
|
||||
SPEC_NGRAM_MOD_N_MATCH=24
|
||||
|
||||
# KV on GPU: K q8_0 + V f16 (mismatched, 16 full-attention layers x 4
|
||||
# heads x 256 dim: K = 1088 B/token, V = 2048 B/token -> 3136 B/token ->
|
||||
# 784 MiB per FA layer at 262144, 12.25 GiB total). Mismatched K/V with
|
||||
# Flash Attention requires the GGML_CUDA_FA_ALL_QUANTS rebuild (2026-08-17:
|
||||
# head HIP + worker CUDA at 9b05354ec). Do not revert the binaries without
|
||||
# also reverting this.
|
||||
# KV quantization on GPU: K q8_0 + V f16 (user request: K=8, V=16).
|
||||
CACHE_TYPE_K=q8_0
|
||||
CACHE_TYPE_V=f16
|
||||
|
||||
# Batch sizing: production-verified values (2026-08-14).
|
||||
BATCH_SIZE=8192
|
||||
UBATCH_SIZE=256
|
||||
# Batch sizing (user request).
|
||||
BATCH_SIZE=2048
|
||||
UBATCH_SIZE=1024
|
||||
|
||||
# Sampling — Qwen3.8 thinking-mode defaults.
|
||||
# Sampling - Qwen3.8 thinking-mode defaults.
|
||||
TEMPERATURE=1.0
|
||||
TOP_K=20
|
||||
TOP_P=0.95
|
||||
MIN_P=0.0
|
||||
|
||||
THREADS=12
|
||||
THREADS=8
|
||||
THREADS_HTTP=1
|
||||
|
||||
# 4 (info): clean journal for interactive use. Raise to 10 only when
|
||||
# debugging the layer split (the per-layer assignment lines are debug-level).
|
||||
VERBOSITY=4
|
||||
|
||||
# 1: --direct-io model load. Required in practice for large models loaded
|
||||
# over RPC (load hangs otherwise; visorcraft Strix RPC finding).
|
||||
DIRECT_IO=1
|
||||
Reference in new issue
Block a user