Text Generation
GGUF
rocm
vulkan
rocmfp4
strix-halo
gfx1151
amd
Mixture of Experts
reasoning
k2-horizon
conversational
Instructions to use kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP # Run inference directly in the terminal: llama cli -hf kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP # Run inference directly in the terminal: llama cli -hf kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP # Run inference directly in the terminal: ./llama-cli -hf kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP # Run inference directly in the terminal: ./build/bin/llama-cli -hf kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP
Use Docker
docker model run hf.co/kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP
- LM Studio
- Jan
- vLLM
How to use kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP
- Ollama
How to use kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF with Ollama:
ollama run hf.co/kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP
- Unsloth Desktop
- Pi
How to use kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF with Docker Model Runner:
docker model run hf.co/kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP
- Lemonade
How to use kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP
Run and chat with the model
lemonade run user.K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF-Q4_0_ROCMFP
List all available models
lemonade list
- Hermes Agent
How to use kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF:Q4_0_ROCMFP" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
File size: 5,676 Bytes
7e5701f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | ---
license: apache-2.0
base_model:
- IFM/K2-Horizon-MoVA-36B-A4B
base_model_relation: quantized
tags:
- gguf
- rocm
- vulkan
- rocmfp4
- strix-halo
- gfx1151
- amd
- moe
- reasoning
- k2-horizon
pipeline_tag: text-generation
---
# K2-Horizon-MoVA-36B-A4B β ROCmFP4 for AMD Strix Halo (gfx1151)
Four ROCmFP4/ROCmFPX tiers of [`IFM/K2-Horizon-MoVA-36B-A4B`](https://huggingface.co/IFM/K2-Horizon-MoVA-36B-A4B),
quantised from the official BF16 GGUF and measured on a Ryzen AI Max+ 395 (Radeon 8060S, gfx1151,
128 GB unified, ROCm 7.2.4). This is the **dual-expert** `k2_horizon` MoVA architecture β 36B total
parameters, **~4B active** β with two independent expert systems: a 64-way MoVA value-expert bank
(top-4) alongside a 100-way MoE feed-forward (top-8), 48 layers, hidden 2560, and it is a
**reasoning** model.
**Every number on this card was measured on these exact files.** Nothing is estimated. As an
A4B MoE, it decodes far faster than a dense 32B on the same hardware.
## Which file should I use?
| file | ftype | size | decode (HIP) | prefill (HIP) | use it for |
|---|---|---|---|---|---|
| `K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_FAST.gguf` | 103 | 18.57 GiB | **41.0 t/s** | **1238 t/s** | **default β fastest on both axes** |
| `K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_STRIX_LEAN.gguf` | 106 | 18.67 GiB | 41.0 t/s | 1227 t/s | same speed, Q5_K embeddings |
| `K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_COHERENT.gguf` | 102 | 19.81 GiB | 39.5 t/s | 1114 t/s | most bits in the 4-bit family |
| `K2-Horizon-MoVA-36B-A4B-Q8_0_ROCMFPX_AGENT.gguf` | 115 | 36.45 GiB | 28.9 t/s | 1183 t/s | 8-bit, agent/tool-call routing |
**Start with `FAST`** β fastest on both axes here, all four answer correctly. Take `AGENT` only if
you specifically want 8-bit weights.
## Quick start β the backend is one flag
```bash
# HIP / ROCm β best prefill (long prompts, RAG, agentic)
llama-server -m K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_FAST.gguf \
-dev ROCm0 -fa on -ngl 999 --no-mmap -fit off -np 1 \
-b 2048 -ub 1024 -t 16 --poll 100 -c 8192 --jinja
# Vulkan β SAME FILE. Only -dev changes.
llama-server -m K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_FAST.gguf -dev Vulkan0 ...
```
### β You need a build with BOTH `k2_horizon` and the ROCmFP4 types
These declare `general.architecture = k2-horizon` **and** use the ROCmFP4/ROCmFPX tensor types
(ggml 100-119). No single public build has both yet:
- **`k2_horizon` arch** (incl. the MoVA dual-expert graph) β [MBZUAI-IFM llama.cpp fork](https://github.com/MBZUAI-IFM/llama.cpp/tree/model/K2Horizon); upstream PR in progress.
- **ROCmFP4/ROCmFPX types** β [`ROCmFPX`](https://github.com/ROCmFPX/ROCmFPX).
This repo ships **`k2-horizon-on-rocmfpx.patch`** β the arch applied onto a ROCmFPX base, the exact
tree these files were built and verified against:
```bash
git clone https://github.com/ROCmFPX/ROCmFPX.git && cd ROCmFPX
curl -fLO https://huggingface.co/kingjones777/K2-Horizon-MoVA-36B-A4B-ROCmFP4-GGUF/resolve/main/k2-horizon-on-rocmfpx.patch
git apply k2-horizon-on-rocmfpx.patch
cmake -B build -DGGML_HIP=ON -DGGML_VULKAN=ON -DAMDGPU_TARGETS=gfx1151 -DGGML_NATIVE=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
```
## β Serving note β this is a reasoner
MoVA-36B emits chain-of-thought into `reasoning_content` before answering. A short budget returns
**HTTP 200 with empty `content` and the tokens in `reasoning`** β the model thinking, not a broken
file. Give it room: ~500 tokens for short answers and tool calls, more for long-form. Verified: at
40 tokens `content` was empty; at 500 it answered correctly.
## Head handling
Quantised at each tier's native routing with no forced `--output-tensor-type` override; the tiers
are posted as-built.
## Reproduction block
```
model : IFM/K2-Horizon-MoVA-36B-A4B (official BF16 GGUF, K2-Horizon-36B-BF16.gguf, 74.9 GB)
arch k2-horizon MoVA (dual-expert MoE): 36B total / ~4B active,
mova_num_experts 64 top-4 + num_experts 100 top-8, 48 layers, hidden 2560
port : MBZUAI-IFM/llama.cpp @ model/K2Horizon (35999d1) k2_horizon arch
applied onto ROCmFPX fork @ 85d8f7e (patch shipped in this repo)
quantize : llama-quantize <in> <out> <ftype> (no head-type override)
Q4_0_ROCMFP4_COHERENT (102) Β· Q4_0_ROCMFP4_FAST (103)
Q4_0_ROCMFP4_STRIX_LEAN (106) Β· Q8_0_ROCMFPX_AGENT (115)
serve : llama-server -dev {ROCm0|Vulkan0} -fa on -ngl 999 --no-mmap -fit off
-np 1 -b 2048 -ub 1024 -t 16 --poll 100 -c 8192 --jinja
box : Ryzen AI Max+ 395 / Radeon 8060S (gfx1151) / 128 GB unified, ROCm 7.2.4
verified : dual-expert graph loads on GPU, generates correct output
("capital of France" -> "Paris"; "capital of Japan" -> "Tokyo")
measured : 2026-09-04
```
## SHA256
```
0f11adaada7b8b9f7aa785561f412d2de85a555fc1e2ffeddf71f972b8d576e4 K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_COHERENT.gguf
5618a8e20c3300dcb38ec7217c612edcd8fb091b23aa9e024ca7063b235e80bf K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_FAST.gguf
7fea90c3aa739652d764416741e85f563ca355ab29c8a8eb89e753a37df8e79f K2-Horizon-MoVA-36B-A4B-Q4_0_ROCMFP4_STRIX_LEAN.gguf
e653f3855ed2c0c347e14e22593d49ced9118bf2115a7717ed2e34e5e6ff722c K2-Horizon-MoVA-36B-A4B-Q8_0_ROCMFPX_AGENT.gguf
```
## Credits
**[IFM / MBZUAI](https://huggingface.co/IFM)** β the K2-Horizon-MoVA-36B-A4B base model
(Apache-2.0) and the `k2_horizon` llama.cpp architecture. ROCmFP4/ROCmFPX quantisation types are the
work of **[ROCmFPX](https://github.com/ROCmFPX/ROCmFPX)**. This repository adds only the ROCmFP4
quant ladder, the arch-on-ROCmFPX patch, and the measurements.
|