--- name: llama-server-arch-verify description: Verify llama.cpp binary supports a model architecture without relying on binary grep --- # llama-server Arch Verification ## Problem `grep -ac llama-server` returns 0 for ALL architecture names (including ones the binary is actively serving). The arch strings are stored in a packed/constructed form that grep can't catch. ## Solution Verify arch support via the source registration table, not binary grep: 1. **Check the source registration** (`src/llama-arch.cpp` or `src/llmarch.h`): ```bash grep -n "gemma4\|qwen3_5\|" src/llama-arch.cpp ``` If the arch is registered in the source at the commit the binary was built from, it's supported. 2. **Verify the binary is current**: ```bash stat -c "%y" /path/to/llama-server git log -1 --format=%cd ``` The binary mtime should be after the commit date. 3. **Check for model-specific source files**: ```bash ls src/models/.cpp src/models/-*.cpp 2>/dev/null ``` 4. **Check for spec-type support** (for MTP/draft models): ```bash /path/to/llama-server --help 2>&1 | grep "spec-type\|model-draft" ``` ## KV Cache Types The build's allowed `--cache-type-k` / `--cache-type-v` values: `f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1` **No true fp8 KV dtype** — `q8_0` is the "FP8 class" (1.0625 B/elem, 8.5 effective bits). ## Separate Draft Model (MTP assistant) For models where the MTP head is a SEPARATE file (not in-file like Swift): ```bash --spec-type draft-mtp \ --spec-draft-n-max 3 \ --spec-draft-model /path/to/mtp-assistant.gguf ``` The `--spec-draft-model` flag (aka `-md`, `--model-draft`) loads the separate draft file.