Backend Personalizado do llama.cpp Descarrega Multiplicação de Matrizes LLM para NPU AMD XDNA2 no Ryzen AI MAX 385

✍️ OpenClawRadar📅 Publicado: March 26, 2026🔗 Source
Backend Personalizado do llama.cpp Descarrega Multiplicação de Matrizes LLM para NPU AMD XDNA2 no Ryzen AI MAX 385
Ad

Backend Personalizado para Descarga no NPU AMD XDNA2

Um desenvolvedor criou um backend personalizado para llama.cpp que despacha operações GEMM diretamente para o NPU AMD XDNA2 no Ryzen AI MAX 385 (Strix Halo). Essa abordagem evita o uso da iGPU e a contenção de memória compartilhada.

Configuração de Hardware e Software

Modelo: Meta-Llama-3.1-8B-Instruct Q4_K_M

Hardware: Ryzen AI MAX 385, CachyOS 6.19, driver amdxdna, XRT 2.21.75

Resultados de Desempenho

  • Prefill Vulkan + decodificação NPU: 930 t/s prefill (pp512), 43,7 t/s decode (tg64), 41,5W potência média, 0,947 J/tok
  • Apenas Vulkan: 833 t/s prefill, 41,6 t/s decode, 52,2W potência média, 1,3 J/tok
  • Apenas CPU: 4,6 t/s prefill, 3,76 t/s decode

O caminho de decodificação do NPU economiza aproximadamente 10W em comparação com apenas Vulkan, mantendo (e até superando levemente) a taxa de decodificação, já que a iGPU permanece livre para outros trabalhos.

Stack Técnico

  • Kernels: mlir-aie xclbins (Xilinx/mlir-aie, Apache 2.0)
  • Despacho em tempo de execução: XRT 2.21.75
  • Base: Fork de ggml-org/llama.cpp (MIT)
  • Roteamento de kernel: 4 slots xclbin cobrindo diferentes blocos de dimensão K com roteamento MIN_N/MAX_N para selecionar o kernel apropriado em tempo de execução
Ad

Investigação do Limite de Desempenho

O desenvolvedor tentou ultrapassar 43,7 t/s de decodificação com várias abordagens:

  • Varredura de lote N=1..64: Nenhuma melhoria (desempenho plano)
  • Int4 double-quant: Matou SNR (44,8 → 19,7 dB) - beco sem saída
  • Descarga em cascata: Descartada pela documentação da AMD
  • Decodificação especulativa com rascunho Llama-3.2-1B: 44% taxa de aceitação, 212 t/s rascunho, mas ganho efetivo zero

A falta de melhoria na decodificação especulativa (que normalmente fornece ganhos com 44% de taxa de aceitação) indica que o gargalo é a largura de banda LPDDR5, não o processamento. O NPU já está atingindo o limite de memória, tornando 43,7 t/s o teto para este modelo neste hardware.

Links do Projeto

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

O projeto foi construído com Claude Sonnet 4.6 / Claude Code, divulgado para fins de reprodutibilidade. O desenvolvedor está buscando feedback de outros que executam Strix Halo ou Phoenix com o driver amdxdna para comparar a taxa de decodificação em quantizações comparáveis e determinar se outras configurações XDNA2 encontram o mesmo limite de desempenho.

📖 Leia a fonte completa: r/LocalLLaMA

Ad

👀 See Also

Construindo uma Infraestrutura de Conhecimento de IA Persistente com OpenClaw
Tools

Construindo uma Infraestrutura de Conhecimento de IA Persistente com OpenClaw

Um desenvolvedor criou o 'Brain' — um serviço central de conhecimento com RAG local, coordenação multiagente e um sistema de plugins tipados — para resolver o problema de ausência de estado em configurações de IA. O sistema roda inteiramente em hardware local usando Ollama, Postgres, MongoDB, Qdrant e Memgraph.

OpenClawRadar
SeeFlow: Diagramas de Arquitetura Conectados ao Seu Aplicativo ao Vivo
Tools

SeeFlow: Diagramas de Arquitetura Conectados ao Seu Aplicativo ao Vivo

SeeFlow gera um fluxograma a partir do seu código-fonte e conecta cada nó ao seu aplicativo em execução, com plugins para Claude Code, Codex, Cursor, Windsurf e um servidor MCP.

OpenClawRadar
Explorando as Diretrizes de Código Claude: Uma Abordagem Minimalista em 65 Linhas
Tools

Explorando as Diretrizes de Código Claude: Uma Abordagem Minimalista em 65 Linhas

A extensão Claude Code encapsula princípios essenciais de codificação com IA em apenas 65 linhas de Markdown, enfatizando 'Pense Antes de Codificar'. Apesar de sua simplicidade, ganhou tração notável entre desenvolvedores.

OpenClawRadar
Painel de Código Aberto Revela Custos Reais de Computação do Claude Code
Tools

Painel de Código Aberto Revela Custos Reais de Computação do Claude Code

Um desenvolvedor engenhou reversamente a fórmula de limite de taxa do Claude Code para construir um painel local que mostra a porcentagem de uso em tempo real, custos reais em dólares, taxa de consumo, horários de pico e quais habilidades/hooks estão sendo acionados. A ferramenta revelou que um plano de US$ 100/mês consumiu US$ 13.286 em computação de API equivalente em um mês.

OpenClawRadar