Backend personnalisé llama.cpp décharge la multiplication matricielle des LLM vers le NPU AMD XDNA2 sur Ryzen AI MAX 385

✍️ OpenClawRadar📅 Publié: March 26, 2026🔗 Source
Backend personnalisé llama.cpp décharge la multiplication matricielle des LLM vers le NPU AMD XDNA2 sur Ryzen AI MAX 385
Ad

Backend Personnalisé pour le Délestage vers le NPU AMD XDNA2

Un développeur a créé un backend personnalisé pour llama.cpp qui envoie directement les opérations GEMM vers le NPU AMD XDNA2 sur le Ryzen AI MAX 385 (Strix Halo). Cette approche évite l'utilisation de l'iGPU et les conflits de mémoire partagée.

Configuration Matérielle et Logicielle

Modèle : Meta-Llama-3.1-8B-Instruct Q4_K_M

Matériel : Ryzen AI MAX 385, CachyOS 6.19, pilote amdxdna, XRT 2.21.75

Résultats de Performance

  • Préremplissage Vulkan + décodage NPU : 930 t/s préremplissage (pp512), 43,7 t/s décodage (tg64), 41,5W puissance moyenne, 0,947 J/tok
  • Vulkan uniquement : 833 t/s préremplissage, 41,6 t/s décodage, 52,2W puissance moyenne, 1,3 J/tok
  • CPU uniquement : 4,6 t/s préremplissage, 3,76 t/s décodage

Le chemin de décodage via le NPU économise environ 10W par rapport au Vulkan seul tout en maintenant (et en dépassant légèrement) le débit de décodage, car l'iGPU reste libre pour d'autres tâches.

Pile Technique

  • Noyaux : mlir-aie xclbins (Xilinx/mlir-aie, Apache 2.0)
  • Distribution d'exécution : XRT 2.21.75
  • Base : Fork de ggml-org/llama.cpp (MIT)
  • Routage des noyaux : 4 emplacements xclbin couvrant différentes tuiles de dimension K avec routage MIN_N/MAX_N pour sélectionner le noyau approprié à l'exécution
Ad

Investigation sur le Plafond de Performance

Le développeur a tenté de dépasser 43,7 t/s en décodage avec plusieurs approches :

  • Balayage par lots N=1..64 : Aucune amélioration (performance plate)
  • Double quantification Int4 : A détruit le SNR (44,8 → 19,7 dB) - impasse
  • Délestage en cascade : Exclu par la documentation AMD
  • Décodage spéculatif avec le brouillon Llama-3.2-1B : Taux d'acceptation de 44 %, 212 t/s pour le brouillon, mais gain effectif nul

L'absence d'amélioration avec le décodage spéculatif (qui apporte normalement des gains avec un taux d'acceptation de 44 %) indique que le goulot d'étranglement est la bande passante LPDDR5, et non le calcul. Le NPU atteint déjà le mur mémoire, faisant de 43,7 t/s le plafond pour ce modèle sur ce matériel.

Liens du Projet

  • GitHub : https://github.com/BrandedTamarasu-glitch/OllamaAMDNPU
  • Journal des modifications : https://brandedtamarasu-glitch.github.io/OllamaAMDNPU/xdna-npu/

Le projet a été construit avec Claude Sonnet 4.6 / Claude Code, divulgué à des fins de reproductibilité. Le développeur sollicite les retours d'autres utilisateurs exécutant Strix Halo ou Phoenix avec le pilote amdxdna pour comparer le débit de décodage sur des quantifications comparables et déterminer si d'autres configurations XDNA2 rencontrent le même plafond de performance.

📖 Lire la source complète : r/LocalLLaMA

Ad

👀 See Also

Réducteur de journaux MCP Server réduit l'utilisation de jetons quand Claude Code lit les journaux
Tools

Réducteur de journaux MCP Server réduit l'utilisation de jetons quand Claude Code lit les journaux

Log Reducer est un serveur MCP qui traite les fichiers journaux côté serveur avant d'envoyer une sortie réduite à Claude Code, évitant ainsi les journaux bruts dans la fenêtre de contexte. Il applique 19 transformations déterministes qui compressent les journaux de 50 à 90 %, avec un journal de 2000 lignes représentant plus de 20 000 jetons retirés des sessions.

OpenClawRadar
AgentRoom : L'application de bureau visualise les agents d'IA de codage sous forme de personnages en pixels avec recherche de session.
Tools

AgentRoom : L'application de bureau visualise les agents d'IA de codage sous forme de personnages en pixels avec recherche de session.

AgentRoom est une application de bureau qui transforme les sessions Claude Code, Codex et Gemini en personnages pixélisés animés dans un bureau virtuel, avec une recherche sémantique en texte intégral sur toutes les sessions. Le dépôt inclut une compétence autonome Claude Code pour rechercher des sessions passées depuis n'importe quelle conversation.

OpenClawRadar
Axe : Un CLI de 12 Mo pour des agents LLM monospécifiques
Tools

Axe : Un CLI de 12 Mo pour des agents LLM monospécifiques

Axe est un binaire Go léger qui exécute des agents d'IA spécialisés définis dans des fichiers TOML. Il traite les agents comme des programmes Unix, prenant en charge le piping stdin, la délégation de sous-agents et l'intégration multi-fournisseurs de LLM.

OpenClawRadar
Corbell : CLI Open Source pour l'Analyse d'Architecture et la Documentation de Conception Multi-Dépôts
Tools

Corbell : CLI Open Source pour l'Analyse d'Architecture et la Documentation de Conception Multi-Dépôts

Corbell est un outil CLI gratuit et open source qui analyse plusieurs dépôts pour construire un graphe d'architecture et générer une documentation de conception localement. Il fonctionne entièrement hors ligne avec Ollama ou prend en charge divers fournisseurs de LLM, et n'envoie jamais le code hors de votre machine.

OpenClawRadar