This site is about ROCm at home. It is still honest to say: a lot of people generated their first R9700 tokens on Vulkan.
llama.cpp can compile a HIP backend and a Vulkan backend. They are different compilers pointing at the same memory. HIP is the path that shares DNA with PyTorch, vLLM, and hipcc. Vulkan is the path that shares DNA with the desktop driver you already needed to get a picture on the monitor.
When Vulkan is the right first backend
- HIP CMake cannot find a ROCm that
rocminfoinsists is fine - You are on Windows, where a full ROCm userspace may not exist, and Adrenalin + Vulkan does
- An iGPU/dGPU split is easier to see in
llama-cli --list-devicesas RADV GFX1201 vs RADV RAPHAEL_… - You want a weekend result before you commit to PyTorch wheels
Community threads for the R9700 spend a lot of time on RADV vs AMDVLK, visible devices, and whether memory clocks are actually at the top P-state. That work is real. It is also not a substitute for AMD’s published bandwidth or TOPS figures.
When you should still install ROCm
You will want HIP/ROCm when you:
- Install PyTorch or vLLM the way AMD documents
- Care about
rocm-smicounters in the same way a CUDA user cares aboutnvidia-smi - Debug library-level issues (rocBLAS kernels, missing
gfx1201tensiles) instead of shader paths - Run more than “one GGUF in a terminal”
Ollama sits in the middle: it may use ROCm, Vulkan, or surprise-CPU depending on the build and OS. If it is slow, look at the backend log before you blame RDNA 4.
A clean way to keep both
On Linux, it is reasonable to have:
- Distro or AMD graphics stack with a working RADV ICD
- One ROCm userspace for HIP apps
- Two llama.cpp build directories:
build-hipandbuild-vk
Do not measure them against each other on different models, different -c, and different days, then declare a winner on the internet. Measure them to learn which layer you broke.
The local LLM tutorial includes both configure lines. Start with whichever configure script exits zero. Graduate to the other when you need it — not because a brand hierarchy told you to.