Self-contained llama.cpp server image for AMD RDNA 3.5 Strix Point, w/ 16 RDNA-specific perf patches
32
A self-contained llama.cpp server image for AMD RDNA 3.5 Strix Point APUs (gfx1150), built from the stew675/llama-cpp-rdna-boosts fork with 16 RDNA-specific performance patches applied.
The prebuilt ghcr.io/stew675/llama-cpp-rdna-boosts images (rocm-7.2 / 7.14 / 10.0) only compile GPU kernels for gfx1100;gfx1151;gfx1200;gfx1201. They do not include gfx1150, so on Strix Point APUs (e.g. the Radeon 890M iGPU in the Ryzen AI 9 HX 370) every kernel launch fails with:
ROCm error: device kernel image is invalid
This image rebuilds the patched source with -DAMDGPU_TARGETS=gfx1150, so it actually runs on gfx1150 silicon.
Note: Strix Point APUs report to ROCm as
gfx1150(0x1150, Wave 32), notgfx1151. The related Strix Point Halo / Strix Halo (Ryzen AI Max+ 395) reports asgfx1151and is already covered by the prebuilt images. Both are RDNA 3.5 architecture — not RDNA 4.
ghcr.io/stew675/llama-cpp-rdna-boosts:rocm-10.0 (ROCm 10.0, amdclang/hipcc)ggml-org/llama.cpp at commit ebbb18522cmake -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1150 -DCMAKE_BUILD_TYPE=Release -DLLAMA_CURL=OFF -DGGML_RPC=OFFllama-server (the OpenAI-compatible HTTP server)/src/llama.cpp/build/bin/llama-serverLD_LIBRARY_PATH=/opt/rocm/libdocker run --rm \
--device /dev/dri --device /dev/kfd --group-add video \
-v /path/to/models:/models:ro \
-p 8080:8080 \
--entrypoint /bin/bash \
louisremi/llama-server-rdna-gfx1150:rocm-10.0-gfx1150 \
-c 'export LD_LIBRARY_PATH=/opt/rocm/lib; \
/src/llama.cpp/build/bin/llama-server \
-m /models/your-model.gguf \
-c 32768 -ngl 999 --port 8080'
docker run -d \
--name llama-rdna \
--device /dev/dri --device /dev/kfd --group-add video \
-v /path/to/models:/models:ro \
-p 8190:8080 \
--entrypoint /bin/bash \
louisremi/llama-server-rdna-gfx1150:rocm-10.0-gfx1150 \
-c 'export LD_LIBRARY_PATH=/opt/rocm/lib; \
/src/llama.cpp/build/bin/llama-server \
--models-dir /models --jinja --host 0.0.0.0 \
--port 8080 -ngl 999 -c 32768 --api-key YOUR_KEY'
Then query the OpenAI-compatible API:
curl http://localhost:8190/v1/completions \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"Sharp-Spark-X2.5-4B-Q4_K_XL","prompt":"Hello","max_tokens":32}'
| Model | 16k pp | 16k tg | 32k pp | 32k tg |
|---|---|---|---|---|
| Sharp-Spark-X2.5-4B Q4_K_XL (4.11 B) | 646 t/s | 25.4 t/s | 562 t/s | 25.2 t/s |
| TwIL-LM3 Q8_0 (3.08 B) | 758 t/s | 21.8 t/s | 541 t/s | 21.7 t/s |
(Compared to stock Vulkan: Sharp-Spark 16k pp=543, tg=26.3 — the RDNA build wins on prefill, is roughly tied on decode.)
A self-contained Dockerfile is available in the compose directory — or rebuild from scratch:
# 1. Clone the fork for the patches
git clone --depth 1 https://github.com/stew675/llama-cpp-rdna-boosts /tmp/fork
# 2. Clone upstream at the fork point
git clone --filter=blob:none https://github.com/ggml-org/llama.cpp
cd llama.cpp && git checkout ebbb18522
# 3. Apply the 16 patches
for p in /tmp/fork/patches/*.patch; do git apply "$p"; done
# 4. Build for gfx1150 (in a ROCm 10.0 container with cmake installed)
cmake -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1150 \
-DCMAKE_BUILD_TYPE=Release -DLLAMA_CURL=OFF -DGGML_RPC=OFF
cmake --build build --target llama-server -j $(nproc)
rocm-10.0-gfx1150 — ROCm 10.0 base, built for gfx1150 (current)latest — same as rocm-10.0-gfx1150The RDNA-boosts patches are distributed under the terms of the stew675/llama-cpp-rdna-boosts repository. Upstream llama.cpp is MIT-licensed.
Content type
Image
Digest
sha256:8cd4ae9e6…
Size
8.4 GB
Last updated
about 15 hours ago
docker pull louisremi/llama-server-rdna-gfx1150:rocm-10.0-gfx1150