Exécuter des LLM sur l'NPU AMD avec FastFlowLM - Guide Fedora
Vous pouvez désormais exécuter des modèles de langage de grande taille (LLM) directement sur votre NPU AMD en utilisant Fedora. Ce guide vous montre comment configurer la pile logicielle sur un ASUS ROG Flow Z13 équipé d'une puce Ryzen AI Max 390.
La configuration nécessite quatre couches fonctionnelles :
- Noyau + pilote DKMS (amdxdna) : crée le nœud de périphérique et charge le firmware.
- Base XRT : le runtime AMD.
- Plugin NPU XRT : permet à XRT de détecter le NPU.
- FastFlowLM (flm) : l'outil qui exécute les modèles.
Comme Fedora ne propose pas de paquets précompilés pour cela, vous devez compiler à partir des sources.
⚠️ Corrections critiques avant de commencer
Activer l'IOMMU De nombreux utilisateurs désactivent l'IOMMU pour l'optimisation du GPU. Cela empêche le fonctionnement du NPU. Vérifiez vos paramètres : cat /proc/cmdline Si vous voyez
amd_iommu=off, supprimez-le de/etc/default/grub, régénérez votre configuration grub et redémarrez.Définir Memlock sur illimité Le NPU nécessite de la mémoire verrouillée. Vérifiez votre limite : ulimit -l Si elle n'est pas illimitée, ajoutez ceci dans
/etc/security/limits.d/99-memlock.conf:
- soft memlock unlimited
- hard memlock unlimited Déconnectez-vous puis reconnectez-vous.
- Corriger le chemin xrt-smi Ne créez pas de lien symbolique pour xrt-smi. Cela casse le script interne. Utilisez plutôt un 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
Résumé des étapes de compilation
- Installer les dépendances : utilisez
dnfpour installergit,dkms,cmakeet diverses bibliothèques de développement. - Compiler XRT : clonez le dépôt
xdna-driver. Créez un wrappercmake3pour Fedora. Compilez et installez les RPM. - Installer le plugin NPU : compilez le
xrt_pluginà partir du dépôtxdna-driveret installez le RPM résultant. - Compiler FastFlowLM : clonez le dépôt FastFlowLM et utilisez
cmakepour la compilation et l'installation.
Commandes de vérification
Vérifiez le noyau et le NPU : flm validate
Vérifiez le matériel : xrt-smi examine xrt-smi validate
Exécutez un modèle : flm run gemma4-it:e4b
Benchmarks de performance (Ryzen AI Max 390)
- Temps jusqu'au premier jeton (token) : 1,21 s
- Vitesse de préremplissage (prefill) : 18 tok/s
- Vitesse de décodage : 11 tok/s
Source : https://dev.to/ankk98/running-llms-on-amd-npu-with-fastflowlm-fedora-guide-1oo5
Communauté d'apprentissage optionnelle : https://t.me/GyaanSetuAi
