frank-default-small: use q8_0 (not q8_KV) KV cache on ik_llama
The ik_llama fast q8_KV cache type crashes at model init on this QWEN3MOE/MTP + multimodal arch at commit b166e269 with a ggml_view size assert (ggml.c:5427) right after the output buffer is created, looping the service. Empirically isolated by toggling cache type: q8_0 and f16 load and serve (smoke-tested correct output), q8_KV asserts. Switch to q8_0 + Hadamard (K/V), which still gives the 8-bit cache + Hadamard quality win. KB updated with the crash lesson.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
---
|
||||
type: reference
|
||||
title: ik_llama.cpp on Dankserver (Ornith Q6_K)
|
||||
description: ikawrakow/ik_llama.cpp replaces upstream llama.cpp for frank-default-small on the RTX 3090. q8_KV KV cache with Hadamard, split-mode none (graph requires >=2 GPUs), ngram-mod canonical args, and explicit CPU-expert offload. Includes the mandatory CUDA/IQK FA_ALL_QUANTS build flags.
|
||||
description: ikawrakow/ik_llama.cpp replaces upstream llama.cpp for frank-default-small on the RTX 3090. q8_0 KV cache with Hadamard (the fast q8_KV type crashes on this arch at this commit), split-mode none (graph requires >=2 GPUs), ngram-mod canonical args, and explicit CPU-expert offload. Includes the mandatory CUDA/IQK FA_ALL_QUANTS build flags.
|
||||
tags:
|
||||
- ikllama
|
||||
- llamacpp
|
||||
@@ -104,14 +104,24 @@ Files: `scripts/serve-frank-small.sh`, `scripts/frank-default-small.env`,
|
||||
`scripts/frank-default-small.service` in the repo. The service just calls
|
||||
the serve script; the env file holds all tunables.
|
||||
|
||||
### KV cache: q8_KV + Hadamard
|
||||
### KV cache: q8_0 + Hadamard
|
||||
|
||||
- `CACHE_TYPE_K=q8_KV`, `CACHE_TYPE_V=q8_KV` — fast quant type (ik
|
||||
PR 208). Passes `--cache-type-k q8_KV --cache-type-v q8_KV`.
|
||||
- `CACHE_TYPE_K=q8_0`, `CACHE_TYPE_V=q8_0` — standard 8-bit KV cache type
|
||||
(passes `--cache-type-k q8_0 --cache-type-v q8_0`).
|
||||
- `K_CACHE_HADAMARD=1`, `V_CACHE_HADAMARD=1` — `--k-cache-hadamard` and
|
||||
`--v-cache-hadamard`. The Hadamard transform preserves KV quality at
|
||||
8-bit (docs recommend it for quantized KV below Q6_0). Implemented for
|
||||
both the CUDA (`ggml-cuda/hadamard.cu`) and CPU (IQK) paths.
|
||||
- Flash-attention is **on by default** (no `-fa` flag needed).
|
||||
|
||||
> ⚠️ **Do not use `q8_KV` (fast type) here.** On this commit (`b166e269`)
|
||||
> the fast `q8_KV` cache type crashes at model init on this QWEN3MOE/MTP +
|
||||
> multimodal arch with a `ggml view` size assertion
|
||||
> (`ggml.c:5427: GGML_ASSERT(view_src == NULL || ... data_size + view_offs`)
|
||||
> right after the output buffer is created. It loops the service. Plain
|
||||
> `q8_0` (and `f16`) work and were smoke-tested with correct output; this
|
||||
> config uses `q8_0`. This was isolated empirically by toggling cache type
|
||||
> while keeping the override/hadamard flags.
|
||||
|
||||
These keep the 163840-slot / 491520-pool context while roughly halving KV
|
||||
cache RAM vs f16.
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@ graph LR
|
||||
B2[ik_llama.cpp build b166e269
|
||||
frank-default-small, port 7770]
|
||||
C[Ornith-1.5-35B-A3B-CRACK Q6_K
|
||||
ngram-mod, q8_KV + Hadamard cache, 491520 ctx]
|
||||
ngram-mod, q8_0 + Hadamard cache, 491520 ctx]
|
||||
A --> B2 --> C
|
||||
end
|
||||
|
||||
@@ -57,7 +57,7 @@ MTP draft + Turbo4 V cache, 262K ctx / 1 slot]
|
||||
- [[dealign-ornith-crack]] — the dealign Ornith-1.5-35B-A3B CRACK model on
|
||||
Dankserver (frank-default-small, active 2026-08-24)
|
||||
- [[ikllama-ornith-dankserver]] — the ik_llama.cpp runtime for
|
||||
frank-default-small (2026-08-26): q8_KV + Hadamard KV cache,
|
||||
frank-default-small (2026-08-26): q8_0 + Hadamard KV cache,
|
||||
split-mode none (single-GPU), mandatory FA_ALL_QUANTS build flags
|
||||
- [[kingjones-strix-mtp]] — the active kingjones Qwen3.8-27B ROCmFP4 STRIX MTP
|
||||
model on Dankclaw (restored 2026-09-01 after the Q8_0 AGENT experiment)
|
||||
|
||||
+1
-1
@@ -110,7 +110,7 @@ The LLM inference fleet on the two hosts. Full index:
|
||||
- [[ciru-activefpx-promptforge]] — the RETIRED v3 CIRU PromptForge runtime on Dankclaw (superseded 2026-08-24)
|
||||
- [[kingjones-strix-mtp]] — the kingjones Qwen3.8-27B ROCmFP4 STRIX MTP model on Dankclaw (active)
|
||||
- [[dealign-ornith-crack]] — the dealign Ornith-1.5-35B-A3B CRACK model on Dankserver (active)
|
||||
- [[ikllama-ornith-dankserver]] — the ik_llama.cpp runtime for frank-default-small (q8_KV + Hadamard KV cache, split-mode none; 2026-08-26)
|
||||
- [[ikllama-ornith-dankserver]] — the ik_llama.cpp runtime for frank-default-small (q8_0 + Hadamard KV cache, split-mode none; 2026-08-26)
|
||||
- [[kairic-edge]] — the retired Kairic Edge IU4 experiment (2026-08-22)
|
||||
- [[dflash2-large-vulkan]] — the retired DFlash2 Vulkan deployment (2026-08-21)
|
||||
- [[Dankserver System Specs]] — the RTX 3090 box hardware
|
||||
|
||||
Reference in New Issue
Block a user