pp-head: 2x200700 f16 KV (ctx 401400, parallel 2), split 0.40,0.60 = max 3090 capacity

This commit is contained in:
Frank
2026-08-16 12:23:08 -07:00
parent 3ad4c6921c
commit 934c6d8be1
+14 -12
View File
@@ -25,16 +25,16 @@ LISTEN_PORT=7770
RPC_SERVERS=192.168.0.235:50052
# Model split fractions, one per device in order [RPC0, iGPU].
# 1,1 = 50/50: the 3090 gets the first ~32 layers, the Strix the rest.
# Leave empty for the default proportional-to-free-memory split; note the
# Strix reports ~96 GiB (GTT ceiling) vs the 3090's ~24 GB, so the default
# lands around 20% of layers on the 3090 and 80% on the Strix.
TENSOR_SPLIT=1,1
# 0.40,0.60 = 40% of layers on the 3090 (~26 layers) - the maximum that
# fits its 24 GB card with 2x200700 f16 KV (see the KV math in
# docs/Pipeline Parallelism/Qwen3.8 PP Deployment.md). The 3090 is 2-3x
# faster per layer, so shifting weight to it is also a speed win.
TENSOR_SPLIT=0.40,0.60
# Context pool. 131072 single slot keeps the KV small (~4.5 GB total at
# q8_0) on both sides; raise for high-context tests (see docs).
CTX_SIZE=131072
PARALLEL=1
# Context pool. 401400 total = 2 parallel slots x 200700 per slot
# (n_ctx_seq = n_ctx / n_seq_max, llama-context.cpp:293).
CTX_SIZE=401400
PARALLEL=2
# Speculative decoding. Matches production frank-default-large: MTP (bundled
# head, n_max 4 per the published tuning curve) with the ngram-mod fallback.
@@ -50,9 +50,11 @@ SPEC_NGRAM_MOD_N_MIN=48
SPEC_NGRAM_MOD_N_MAX=64
SPEC_NGRAM_MOD_N_MATCH=24
# KV on GPU, quantized. Keep K == V so Flash Attention stays enabled.
CACHE_TYPE_K=q8_0
CACHE_TYPE_V=q8_0
# KV on GPU, unquantized (f16). 16 full-attention layers x 2 (K,V) x 4 heads
# x 256 dim x 2 bytes = 64 KiB/token -> 401400 tokens = 24.5 GiB total.
# Keep K == V so Flash Attention stays enabled.
CACHE_TYPE_K=f16
CACHE_TYPE_V=f16
# Batch sizing: production-verified values (2026-08-14).
BATCH_SIZE=8192