Skip to content
 
 

Latest commit

 

History

10,448 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

llama.cpp

llama

About this fork

This is an experimental fork built for one specific purpose: serving a Qwen3.6-27B dense hybrid SSM/attention model ("f711") and a Qwen3.8-27B vision model in production on an AMD Radeon AI PRO R9700 (32 GB, gfx1201/RDNA4) via ROCm/HIP, driving Claude Code through the /v1/messages endpoint.

It combines two upstream sources:

  1. ggml-org/llama.cpp — upstream, tracked close to master.
  2. stew675/llama.cpp:rdna-boosts — a set of RDNA-specific kernel fusions (MUL_MAT, FLASH_ATTN_EXT, RMS_NORM, MUL) ported on top of (1).

...plus a single-target CI workflow (.github/workflows/f711-rocm.yml, ROCm 7.14, AMDGPU_TARGETS=gfx1201 only) so a build finishes in minutes instead of covering every GPU target upstream CI builds for. The merged, actively-served build lives on the f711-rdna branch; this master branch stays a close mirror of upstream.

Why

Upstream llama.cpp on this GPU/architecture combination (gfx1201/RDNA4, a dense Qwen3.5/3.6-family hybrid SSM+attention model) left a lot of prefill throughput on the table. rdna-boosts closes most of that gap. Before deploying it we ran two independent correctness gates (not just a speed benchmark): test-backend-ops on every op the branch touches, and a perplexity/code-quality comparison against a control build differing only by those commits — see Results below.

Results

Measured on production hardware, 15–16 Aug 2026. Hardware: AMD Radeon AI PRO R9700 (32 GB VRAM, gfx1201/RDNA4), ROCm 7.14. Model: f711-AMD-Q6_K (Qwen3.6-27B, dense, n_expert = 0, hybrid SSM/gated-delta-net + MTP head).

Speed — real 100k-token prompt, production -c 131072:

ctx arm prefill TTFT gen shared VRAM (spill)
131072 base 312.4 t/s 5m22s 18.4 t/s 242 MiB
131072 rdna-boosts 573.9 t/s (+84%) 2m55s 18.5 t/s 244 MiB
147456 base collapses (>10 min) 768 MiB (over the spill threshold)
147456 rdna-boosts 519.6 t/s 3m13s 18.6 t/s 542 MiB (still under threshold)

rdna-boosts is also more VRAM-efficient at high context — it raises the spill-collapse threshold instead of only being faster at the same one.

Correctness / quality:

  • test-backend-ops on the ops the branch changes: 1194/1194 (MUL_MAT) and 4552/4552 (FLASH_ATTN_EXT) passing on gfx1201.
  • Perplexity, production config (-fa on, fusions on): base 2.6898 → rdna-boosts 2.6992 (+0.35%). Bisection isolated the cause to one commit, 6e478a115 ("fuse IMRoPE + set-rows for BF16 KV cache"), which mis-fires on plain f16 KV cache where it shouldn't apply — reported upstream, kept deployed anyway since it doesn't regress generated-code quality and the speed win is large. As an independent cross-check, the same model on the Vulkan backend (which shares none of these kernels) measures PPL 2.7124 — i.e. the base→rdna-boosts gap is smaller than the ordinary HIP↔Vulkan backend gap.
  • Code-generation quality benchmark (21 runs: generate C#/.NET code, dotnet build
    • regex assertions against a pre-validated skeleton): base 16/21 build-ok / 98.3% asserts vs. rdna-boosts 15/21 / 99.2% asserts — no measurable regression (the one-build difference is within run-to-run noise at temperature 0.7).

Status: deployed in production since 16 Aug 2026 (branch f711-rdna, build tag rdna-20260815), serving both models above. Two later upstream commits from the same branch (1b009339e, 7955770b2) were evaluated on 16 Aug and not deployed — correct, but no measurable speed gain (−0.33%, within noise) on this model/GPU; not worth the extra rebase-conflict surface.

Quick start

A few options to get llama.cpp installed on your machine:

Once installed:

# Download and run a model directly from Hugging Face
llama cli -hf ggml-org/Qwen3.5-0.8B-GGUF

# Launch OpenAI-compatible API server
llama serve -hf ggml-org/Qwen3.5-0.8B-GGUF
VLM session with `llama cli` VLM session with llama cli Built-in web UI against `llama serve` running Qwen 3.6 Built-in web UI against llama serve

Description

The main goal of llama.cpp is to enable LLM (and VLM) inference with minimal setup and state-of-the-art performance on a wide range of hardware - locally and in the cloud.

  • Plain C/C++ implementation without any dependencies
  • Apple silicon is a first-class citizen - optimized via ARM NEON, Accelerate and Metal frameworks
  • AVX, AVX2, AVX512 and AMX support for x86 architectures
  • RVV, ZVFH, ZFH, ZICBOP and ZIHINTPAUSE support for RISC-V architectures
  • 1.5-bit, 2-bit, 3-bit, 4-bit, 5-bit, 6-bit, and 8-bit integer quantization for faster inference and reduced memory use
  • Custom CUDA kernels for running LLMs on NVIDIA GPUs (support for AMD GPUs via HIP and Moore Threads GPUs via MUSA)
  • Vulkan and SYCL backend support
  • CPU+GPU hybrid inference to partially accelerate models larger than the total VRAM capacity

The llama.cpp project is build on top of the ggml library.

Supported backends

Backend Target devices
BLAS All
BLIS All
CANN Ascend NPU
CUDA Nvidia GPU
HIP AMD GPU
Hexagon [In Progress] Snapdragon
IBM zDNN IBM Z & LinuxONE
MUSA Moore Threads GPU
Metal Apple Silicon
OpenCL Adreno GPU
OpenVINO [In Progress] Intel CPUs, GPUs, and NPUs
RPC All
SYCL Intel GPU
VirtGPU VirtGPU APIR
Vulkan GPU
WebGPU All
ZenDNN AMD CPU

Documentation

Tools

Development

Contributing

  • Contributors can open PRs
  • Collaborators will be invited based on contributions
  • Maintainers can push to branches in the llama.cpp repo and merge PRs into the master branch
  • Any help with managing issues, PRs and projects is very appreciated!
  • Read the CONTRIBUTING.md for more information

Acknowledgements

  • yhirose/cpp-httplib - Single-header HTTP server, used by llama-server - MIT license
  • stb-image - Single-header image format decoder, used by multimodal subsystem - Public domain
  • nlohmann/json - Single-header JSON library, used by various tools/examples - MIT License
  • miniaudio.h - Single-header audio format decoder, used by multimodal subsystem - Public domain
  • subprocess.h - Single-header process launching solution for C and C++ - Public domain

About

LLM inference in C/C++ ggml-org/llama.cpp; add stew675 as a remote and fetch rdna-boosts

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages