LLMs auf der AMD NPU mit FastFlowLM ausführen – Fedora-Leitfaden
Sie können nun Large Language Models direkt auf Ihrer AMD NPU unter Fedora ausführen. Dieser Leitfaden zeigt Ihnen, wie Sie den Stack auf einem ASUS ROG Flow Z13 mit einem Ryzen AI Max 390 Chip einrichten.
Das Setup erfordert vier funktionierende Ebenen:
- Kernel + DKMS-Treiber (amdxdna): Erstellt den Device-Node und lädt die Firmware.
- XRT-Basis: Die AMD-Runtime.
- XRT NPU-Plugin: Ermöglicht es XRT, die NPU zu erkennen.
- FastFlowLM (flm): Das Tool, das die Modelle ausführt.
Da Fedora hierfür keine vorkonfigurierten Pakete anbietet, müssen Sie die Installation aus dem Quellcode vornehmen.
⚠️ Kritische Korrekturen vor dem Start
IOMMU aktivieren Viele Nutzer deaktivieren IOMMU für GPU-Tuning. Dies führt dazu, dass die NPU nicht mehr funktioniert. Überprüfen Sie Ihre Einstellungen: cat /proc/cmdline Wenn Sie
amd_iommu=offsehen, entfernen Sie diesen Eintrag aus/etc/default/grub, regenerieren Sie Ihre Grub-Konfiguration und starten Sie neu.Unbegrenzten Memlock festlegen Die NPU benötigt gesperrten Speicher (locked memory). Überprüfen Sie Ihr Limit: ulimit -l Falls der Wert nicht auf „unlimited“ steht, fügen Sie Folgendes zu
/etc/security/limits.d/99-memlock.confhinzu:
- soft memlock unlimited
- hard memlock unlimited Melden Sie sich anschließend ab und wieder an.
- Den xrt-smi-Pfad korrigieren Erstellen Sie keinen Symlink für xrt-smi. Dies beschädigt das interne Skript. Verwenden Sie stattdessen einen Wrapper: sudo tee /usr/local/bin/xrt-smi <<'EOF'
#!/bin/sh exec /opt/xilinx/xrt/bin/xrt-smi "$@" EOF sudo chmod +x /usr/local/bin/xrt-smi
Zusammenfassung der Build-Schritte
- Abhängigkeiten installieren: Verwenden Sie
dnf, umgit,dkms,cmakeund verschiedene Entwicklungsbibliotheken zu installieren. - XRT bauen: Klonen Sie das
xdna-driver-Repo. Erstellen Sie einencmake3-Wrapper für Fedora. Bauen und installieren Sie die RPMs. - NPU-Plugin installieren: Bauen Sie das
xrt_pluginaus demxdna-driver-Repo und installieren Sie das resultierende RPM. - FastFlowLM bauen: Klonen Sie das
FastFlowLM-Repo und verwenden Siecmakezum Bauen und Installieren.
Befehle zur Verifizierung
Kernel und NPU prüfen: flm validate
Hardware prüfen: xrt-smi examine xrt-smi validate
Ein Modell ausführen: flm run gemma4-it:e4b
Performance-Benchmarks (Ryzen AI Max 390)
- Zeit bis zum ersten Token: 1,21 s
- Prefill-Geschwindigkeit: 18 tok/s
- Decoding-Geschwindigkeit: 11 tok/s
Quelle: https://dev.to/ankk98/running-llms-on-amd-npu-with-fastflowlm-fedora-guide-1oo5
Optionale Lern-Community: https://t.me/GyaanSetuAi
