LLMs auf der AMD RX 7800 XT betreiben (ROCm-Anleitung)
Diese Anleitung wurde von Ian Wirtz bereitgestellt.
Empfehlung: LM Studio (
lms) liefert in der Regel die besten Ergebnisse, Ollama ist jedoch eine brauchbare Alternative.
Voraussetzungen
Schritt 1 – rocm-hip-runtime installieren
Bevor LM Studio oder Ollama die GPU über ROCm nutzen können, benötigt das System die HIP-Basisbibliotheken im Benutzerbereich, um mit dem Kernel-Treiber zu kommunizieren.
Arch Linux / CachyOS:
sudo pacman -S rocm-hip-runtime
Ubuntu / Debian:
sudo apt install rocm-hip-runtime
Fedora:
sudo dnf install rocm-hip-runtime
GPU-Zugriffsrechte: Dein Benutzer muss den Gruppen
renderundvideoangehören. Überprüfe das mit:groupsFalls eine der Gruppen fehlt, füge dich selbst hinzu:
sudo usermod -aG video,render $USERDu musst dich vollständig ab- und wieder anmelden (oder neu starten), damit die Gruppenänderung wirksam wird.
Schritt 2 – rocm-smi installieren (ggf. optional)
Bei schnell aktualisierten Distributionen wie Arch werden die Verwaltungswerkzeuge nicht immer als direkte Abhängigkeit von rocm-hip-runtime mitgezogen. Installiere sie explizit, um Bibliotheksversionskonflikte zu vermeiden.
Arch Linux / CachyOS:
sudo pacman -S rocm-smi-lib
Ubuntu / Debian:
Debian trennt das CLI-Werkzeug und die Laufzeitbibliothek in separate Pakete.
# Kommandozeilen-Überwachungswerkzeug
sudo apt update && sudo apt install rocm-smi
# Laufzeitbibliotheken
sudo apt update && sudo apt install librocm-smi64-1
Tipp: Falls der genaue Paketname unbekannt ist, gib
sudo apt install librocm-smi64ein und drücke Tab, um die aktuelle Versionsnummer automatisch zu vervollständigen.
Fedora:
# CLI-Werkzeug
sudo dnf install rocm-smi
# C/C++-Entwicklungsbibliotheken und Header (entspricht rocm-smi-lib auf Arch)
sudo dnf install rocm-smi-devel
Ein Modell ausführen
Schritt 3 – Ein Modell mit ROCm-Beschleunigung laden
Beim Aufruf von lms load müssen die Hardware-Beschleunigungsflags explizit angegeben werden. Der Flag --gpu max weist die Laufzeitumgebung an, das gesamte Modell in den VRAM zu laden.
HSA_OVERRIDE_GFX_VERSION=11.0.0 lms load tulu-3.1-8b-supernova --context-length 8192 --gpu max
Das Präfix HSA_OVERRIDE_GFX_VERSION=11.0.0 teilt dem ROCm-Stack mit, die RX 7800 XT als nativ unterstütztes Compute-Ziel zu behandeln und stille Fallback-Fehler zu umgehen.
Schritt 4 – Die Konfiguration dauerhaft speichern
Um nicht jedes Mal die Umgebungsvariable voranstellen zu müssen, füge sie zu deinem Shell-Profil hinzu.
Bash:
echo 'export HSA_OVERRIDE_GFX_VERSION=11.0.0' >> ~/.bashrc
source ~/.bashrc
Fish (CachyOS-Standard) – Option A: Universelle Variable (empfohlen)
Einmalig setzen; Fish speichert sie automatisch über Neustarts hinweg, ohne weitere Konfiguration:
set -Ux HSA_OVERRIDE_GFX_VERSION 11.0.0
Fish – Option B: Expliziter Eintrag in der Konfigurationsdatei
echo 'set -gx HSA_OVERRIDE_GFX_VERSION 11.0.0' >> ~/.config/fish/config.fish
source ~/.config/fish/config.fish
Ollama (systemd-Dienst):
Da Ollama unter dem eigenen Systembenutzer ollama läuft, muss die Variable über eine systemd-Drop-in-Datei eingebunden werden:
sudo mkdir -p /etc/systemd/system/ollama.service.d
sudo nano /etc/systemd/system/ollama.service.d/override.conf
Folgenden Inhalt einfügen, dann speichern und beenden (Ctrl+O, Enter, Ctrl+X):
[Service]
Environment="HSA_OVERRIDE_GFX_VERSION=11.0.0"
Anschließend den Dienst neu laden und starten:
sudo systemctl daemon-reload
sudo systemctl restart ollama
Überprüfung
Schritt 5 – Bestätigen, dass der Kernel-Compute-Treiber geladen ist
Wenn ein Befehl hängt, ist möglicherweise die Kernel-Compute-Schicht (amdkfd) nicht initialisiert. Prüfe, ob das System die GPU als ROCm-Compute-Plattform erkennt:
rocminfo
Scrolle zum Anfang der Ausgabe. Wenn dort Can't open /dev/kfd oder ein Absturz erscheint, stellt der Linux-Kernel die Compute-Schnittstelle dem Benutzerbereich nicht zur Verfügung. Falls ein benutzerdefinierter oder besonders aktueller Kernel eingesetzt wird, versuche mit dem Standard- oder LTS-Kernel (linux-lts) zu booten, um eine Treiberregression auszuschließen.
Schritt 6 – Server starten und VRAM-Nutzung prüfen
LM Studio:
lms server start
Ollama:
ollama serve
Anschließend prüfen, ob das Modell in den VRAM geladen wurde:
rocm-smi
Im Leerlauf (kein Modell geladen):

Im Leerlauf zieht die GPU minimale Leistung (9 W), Taktraten liegen nahe dem Minimum und die VRAM-Nutzung ist gering (44 %).
Unter Last (Modell und Spiel laufen gleichzeitig):

Unter kombinierter Last sollte die VRAM-Nutzung deutlich ansteigen (in diesem Beispiel 71 %), die GPU-Auslastung zunehmen und die Leistungsaufnahme entsprechend steigen (~147 W). Dies bestätigt, dass das Modell im VRAM liegt und Inferenz auf der GPU ausgeführt wird.