F16 K removes the flash-attn F16-conversion workspace (MMA_F16 prefill kernel needs no copy when K is already f16). Trades static KV pool size for the context-proportional workspace growth implicated in the cublasSgemm_v2 crash class. VERBOSITY=4 run logs real allocation sizes; refit CTX_SIZE if the pool does not fit on the 24 GiB 3090.
57 lines
2.5 KiB
Bash
57 lines
2.5 KiB
Bash
# Tunables for frank-default-small (HauhauCS Q6_K_P, ngram-mod spec, dankserver)
|
||
# Runtime: llama-server b10108; RTX 3090 24GB; Ryzen 7 7700X; 62GB RAM.
|
||
MODEL_DIR=/home/dank/models
|
||
ALIAS=frank-default-small
|
||
HOST=0.0.0.0
|
||
PORT=7770
|
||
# 4 parallel slots x 200000 ctx each = 800000 total context pool.
|
||
# (Increased from 3×200k to add a 4th parallel stream.)
|
||
CTX_SIZE=800000
|
||
PARALLEL=4
|
||
# Spec: ngram-mod. n_min=48, n_max=64, n_match=24 (defaults). 4 expert
|
||
# layers back on GPU; 36 on CPU. Batch 8192 / ubatch 3072.
|
||
SPEC_TYPE=ngram-mod
|
||
NGRAM_MOD_N_MIN=48
|
||
NGRAM_MOD_N_MAX=64
|
||
NGRAM_MOD_N_MATCH=24
|
||
# Expert offload: 36 of 40 layers keep MoE weights on CPU; remaining
|
||
# 4 layers have their expert weights resident on GPU for faster routing.
|
||
# Chosen for prefill-max stability at ubatch 3072: frees ~0.75 GiB peak
|
||
# VRAM vs ncmoe 35 (grid: peak 8606 vs 9360 MiB) for -2% prefill, -2%
|
||
# decode. Fixes the cuBLAS OOM crash class during big prefills.
|
||
N_CPU_MOE=36
|
||
N_GPU_LAYERS=all
|
||
# KV cache on GPU, both K and V at f16 (2026-08-14 diagnostic).
|
||
# F16 K removes the flash-attention F16-conversion workspace (the MMA_F16
|
||
# prefill kernel needs no copy when K is already f16), trading static pool
|
||
# size for the context-proportional workspace growth that caused the
|
||
# cublasSgemm_v2 crashes. Run with VERBOSITY=4 so the load log shows the
|
||
# real allocation sizes; refit CTX_SIZE if it does not fit.
|
||
CACHE_TYPE_K=f16
|
||
CACHE_TYPE_V=f16
|
||
# Diagnostic verbosity for this run; logs the KV/graph allocation sizes.
|
||
VERBOSITY=4
|
||
# Store SWA checkpoints in RAM to hold peak GPU memory down for the
|
||
# larger batch/ubatch (leaves headroom for ctx-checkpoints operation).
|
||
CTX_CHECKPOINTS=4
|
||
# Larger batches / ubatch for big prefill workloads.
|
||
# ubatch 3072 (benchmark-chosen): prefill is the priority; this is the top
|
||
# prefill tier (~1458 t/s) with ~1.2 GiB headroom. Decode is independent.
|
||
BATCH_SIZE=8192
|
||
UBATCH_SIZE=3072
|
||
# Load the model into RAM rather than lazy-mapping it. The MoE experts live on
|
||
# CPU, so eager RAM load avoids page faults during decode (uses ~31GB RAM).
|
||
NO_MMAP=1
|
||
# Compute threads lowered to 7 so other processes on the box keep a core.
|
||
# Sampling settings — per HauhauCS Qwen3.6-35B-A3B model card.
|
||
# Thinking-general: temp=1.0, top_p=0.95, top_k=20, min_p=0.
|
||
# Clients may override per-request; these are the server-side defaults.
|
||
# WARNING: do not name this variable TEMP. The ROCm HIP runtime reads the
|
||
# TEMP environment variable (JIT kernel-cache dir); TEMP=1.0 made the HIP
|
||
# runtime SEGV (NULL unref) during model load on Aug 13 2026.
|
||
TEMPERATURE=1.0
|
||
TOP_K=20
|
||
TOP_P=0.95
|
||
MIN_P=0.0
|
||
THREADS=7
|
||
THREADS_HTTP=8 |