AMD GPU lokale AI draaien: ROCm vs Vulkan uitgelegd
Foto: Trần Chính via Pexels
Met een AMD GPU lokale AI draaien lukt niet altijd meteen: lokale AI-tools zoals Ollama of LM Studio herkennen je GPU niet automatisch. ROCmFix lost de herkenningSfout op met één Python-commando. InferBench meet daarna welke backend, ROCm of Vulkan, sneller is op jouw specifieke GPU. Zonder deze stap gooi je rekenkracht weg.
Waarom herkent Ollama je AMD GPU niet? AMD-specifiek probleem
ROCm staat voor Radeon Open Compute. Het is AMD's antwoord op CUDA, de technologie van Nvidia waarmee GPU's rekentaken uitvoeren zoals AI. Het probleem: ROCm heeft een lijst van officieel ondersteunde GPU-architecturen. Valt jouw kaart er net buiten, dan crasht de software of negeert hij je GPU gewoon.
De workaround die al jaren de ronde doet op forums: stel de omgevingsvariabele HSA_OVERRIDE_GFX_VERSION handmatig in. Hiermee vertel je ROCm dat jouw GPU zich moet gedragen als een andere, wel ondersteunde architectuur. Werkt prima, maar je moet weten welke waarde je invult. Verkeerde waarde? Crashes, trage output, of een model dat helemaal niet laadt.
Ik heb dit zelf verkeerd ingeschat toen ik voor het eerst een lokaal model probeerde te draaien op een AMD-systeem. Ik dacht dat het een driver-probleem was en heb een uur gezocht in de verkeerde richting. Het was gewoon die ene omgevingsvariabele. Sindsdien check ik dit altijd als eerste bij AMD-hardware.
Meer weten over hoe AI-tools en hardware samenwerken in een development-setup? In dit overzicht over AI code editors vergelijken in 2026 bespreek ik ook hoe de onderliggende hardware je workflow beïnvloedt.
ROCmFix: één commando, GPU herkend Open source fix
De tool werkt op zowel Windows als Linux. Op Windows leest hij de PCI-ID van je GPU uit het register. Op Linux gebruikt hij lspci, het standaardcommando om hardware-informatie op te vragen. Op basis van die ID zoekt ROCmFix de juiste GFX-versie op en stelt die in.
Draaien doe je zo:
python rocmfix.pyWil je eerst checken wat er allemaal geïnstalleerd is? Gebruik dan:
python rocmfix.py doctorDat geeft een overzicht van je geïnstalleerde HIP SDK en Vulkan-componenten. Handig als startpunt voordat je begint met modellen laden.
ROCmFix werkt met CMD, PowerShell, Bash, Zsh en Fish. Je stelt de variabele permanent in of alleen voor de huidige sessie, afhankelijk van wat je kiest. Permanent is handig als je altijd met dezelfde GPU werkt. Sessie-instelling is beter als je wisselt tussen systemen of GPU's.
Let op: ROCmFix is een community-tool, geen officieel AMD-product. Controleer altijd de broncode voordat je een onbekend script uitvoert met systeemtoegang.
ROCm of Vulkan: welke backend is sneller op jouw GPU? Meet voor je kiest
Vulkan en ROCm/HIP geven op papier andere prestaties. In de praktijk hangt het af van je specifieke GPU, het model dat je draait, en de hoeveelheid VRAM die je tot je beschikking hebt.
InferBench automatiseert het vergelijken. Het werkt zo:
- Eerst stuurt het een warm-up query, zodat het model volledig in VRAM geladen is.
- Dan dwingt het een VRAM-unload tussen elke testrun, zodat caching de resultaten niet vertekent.
- Het berekent de mediaan van tokens per seconde (tok/s) en de TTFT (Time-to-First-Token, de tijd tot het eerste woord verschijnt).
Die twee getallen zeggen je alles. Tok/s bepaalt hoe snel een lang antwoord gegenereerd wordt. TTFT bepaalt hoe snel de tool voelt voor de gebruiker. Een hoge tok/s met een hoge TTFT is frustrerend in gebruik, ook al is de totaalsnelheid goed.
Naar mijn idee is InferBench de ontbrekende schakel die mensen altijd overslaan. Ze draaien een model, het lijkt te werken, en ze stoppen daar. Maar zonder meting weet je niet of je 40% snelheid laat liggen omdat je de verkeerde backend gebruikt. Dat is zonde als je toch al de moeite hebt genomen om alles lokaal op te zetten.
Zie ook hoe lokale AI-tools passen in een bredere developer-workflow in dit artikel over de rol van developers in het AI-tijdperk.
Wanneer kies je voor een lokale LLM-setup op AMD? Eerlijke afweging
Ik zou een lokale AMD-setup overwegen als je aan drie van de volgende vier punten voldoet:
- Je hebt een AMD GPU met minimaal 8 GB VRAM (minder werkt, maar dan draai je alleen kleine modellen).
- Je verwerkt gevoelige data die je niet naar een externe API wilt sturen.
- Je maakt intensief gebruik van AI en de API-kosten lopen op.
- Je hebt een half uur om de setup te doen en wil geen cloudafhankelijkheid.
Heb je een Nvidia GPU? Dan is de setup aanzienlijk eenvoudiger. CUDA werkt zonder gedoe, en Ollama herkent de meeste Nvidia-kaarten direct. AMD vraagt die extra ROCmFix-stap.
Heb je geen eigen GPU of wil je niet sleutelen? Dan is een cloud-API gewoon sneller en goedkoper voor de meeste use cases. De tools die hier besproken worden zijn voor developers die bewust kiezen voor lokaal draaien en de technische overhead accepteren.
Als je al werkt met lokale AI in je projecten, bekijk dan ook hoe je van het ene LLM-model naar het andere migreert zonder dat je applicatie omvalt.
Conclusie
AMD GPU's vereisen handmatige HSA_OVERRIDE_GFX_VERSION-instellingen als ROCm de hardware niet herkent.
ROCmFix automatiseert die fix met één Python-commando, zonder handmatig registervelden aanpassen.
InferBench vergelijkt ROCm en Vulkan op jouw GPU zodat je weet welke backend echt sneller is.
Veelgestelde vragen
-
AMD ondersteunt officieel een beperkte lijst van GPU-architecturen in ROCm, voornamelijk de RX 6000- en RX 7000-serie. Oudere kaarten of minder gangbare modellen vallen hier soms buiten. Met de
HSA_OVERRIDE_GFX_VERSION-instelling dwing je ROCm om een niet-officieel ondersteunde GPU te behandelen als een compatibele architectuur. De officiële ROCm compatibiliteitsmatrix van AMD geeft een overzicht van welke kaarten native herkend worden. -
ROCm is AMD's native platform voor GPU-rekentaken en specifiek geoptimaliseerd voor machine learning. Vulkan is een grafische API die je ook voor compute-taken inzet, maar is niet primair voor AI gebouwd. ROCm geeft vaak hogere tok/s op ondersteunde GPU's, maar Vulkan werkt op een breder scala aan hardware zonder de extra ROCm-installatie. Welke sneller is op jouw GPU meet je het beste met een benchmarktool zoals InferBench. Meer achtergrond over GPU-compute lees je in de WebGPU-documentatie op MDN.
-
Ja. Ollama heeft ook een Vulkan-backend, die je kunt gebruiken zonder ROCm-installatie. De Vulkan-backend is minder geoptimaliseerd voor AMD-hardware dan een native ROCm-setup, maar werkt op meer GPU's. Herkent Ollama je AMD GPU niet via ROCm, probeer dan eerst de Vulkan-backend als snelle oplossing. Wil je maximale snelheid, dan is ROCm met de juiste
HSA_OVERRIDE_GFX_VERSION-instelling de betere keuze. De Ollama GitHub-pagina bevat actuele documentatie over GPU-backends en ondersteunde hardware. -
Als vuistregel: 8 GB VRAM laat je 7B-modellen draaien (zoals Llama 3 7B of Mistral 7B). Voor 13B-modellen heb je 16 GB nodig. 70B-modellen vragen 40 GB of meer, tenzij je kwantisatie gebruikt. Met 4-bit kwantisatie past een 13B-model al in 8 GB VRAM. Bekijk ook hoe je van het ene LLM-model naar het andere migreert als je je setup wilt opschalen.
-
ROCmFix is een open-source community-tool, geen officieel AMD-product. De broncode staat op GitHub en je controleert hem zelf voordat je hem uitvoert. Het script leest hardware-informatie uit je systeem en schrijft omgevingsvariabelen weg. Het maakt geen netwerkverbindingen en installeert geen software. Controleer altijd de broncode van community-tools voordat je ze uitvoert, zeker als ze systeemtoegang hebben. Zoek de ROCmFix-repository op GitHub om de laatste versie en de bijbehorende code te bekijken.