Fix a live crash: cuBLAS cudaErrorInvalidValue in ggml_cuda_mul_mat_cublas killed the service during a 145k-token prefill burst at ncmoe35/ub3072. ncmoe 36 moves one more expert layer to CPU: frees ~0.75 GiB peak VRAM (grid: peak 8606 vs 9360 MiB at ub3072) for -2% prefill / -2% decode. Keeps prefill priority (top ubatch tier). Docs synced; noted fallback GGML_CUDA_FORCE_MMQ=1 if pressure persists.
50 lines
2.1 KiB
Bash
50 lines
2.1 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, K quantized to q8_0, V stays f16 (user-locked decision).
|
||
CACHE_TYPE_K=q8_0
|
||
CACHE_TYPE_V=f16
|
||
# 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 |