Пользовательский бэкенд llama.cpp переносит матричное умножение LLM на NPU AMD XDNA2 в процессорах Ryzen AI MAX 385

✍️ OpenClawRadar📅 Опубликовано: 26 марта 2026 г.🔗 Source
Пользовательский бэкенд llama.cpp переносит матричное умножение LLM на NPU AMD XDNA2 в процессорах Ryzen AI MAX 385
Ad

Пользовательский бэкенд для выгрузки на NPU AMD XDNA2

Разработчик создал пользовательский бэкенд llama.cpp, который отправляет операции GEMM напрямую на NPU AMD XDNA2 в Ryzen AI MAX 385 (Strix Halo). Этот подход позволяет избежать использования iGPU и конфликтов в общей памяти.

Конфигурация оборудования и программного обеспечения

Модель: Meta-Llama-3.1-8B-Instruct Q4_K_M

Оборудование: Ryzen AI MAX 385, CachyOS 6.19, драйвер amdxdna, XRT 2.21.75

Результаты производительности

  • Vulkan предзаполнение + NPU декодирование: 930 t/s предзаполнение (pp512), 43,7 t/s декодирование (tg64), средняя мощность 41,5 Вт, 0,947 Дж/токен
  • Только Vulkan: 833 t/s предзаполнение, 41,6 t/s декодирование, средняя мощность 52,2 Вт, 1,3 Дж/токен
  • Только CPU: 4,6 t/s предзаполнение, 3,76 t/s декодирование

Путь декодирования через NPU экономит примерно 10 Вт по сравнению с использованием только Vulkan, при этом сохраняя (и даже немного превосходя) пропускную способность декодирования, поскольку iGPU остается свободным для других задач.

Технологический стек

  • Ядра: mlir-aie xclbins (Xilinx/mlir-aie, Apache 2.0)
  • Динамическая отправка: XRT 2.21.75
  • Основа: Форк ggml-org/llama.cpp (MIT)
  • Маршрутизация ядер: 4 слота xclbin, покрывающих различные тайлы K-измерения, с маршрутизацией MIN_N/MAX_N для выбора подходящего ядра во время выполнения
Ad

Исследование потолка производительности

Разработчик пытался превысить показатель 43,7 t/s декодирования с помощью нескольких подходов:

  • Перебор пакетов N=1..64: Улучшений нет (плоская производительность)
  • Int4 двойное квантование: Убило SNR (44,8 → 19,7 дБ) - тупиковый путь
  • Каскадная выгрузка: Исключена документацией AMD
  • Спекулятивное декодирование с черновиком Llama-3.2-1B: 44% принятия, 212 t/s черновик, но нулевой эффективный прирост

Отсутствие улучшений от спекулятивного декодирования (которое обычно дает прирост при 44% принятия) указывает на то, что узким местом является пропускная способность LPDDR5, а не вычисления. NPU уже упирается в ограничение памяти, что делает 43,7 t/s потолком для этой модели на данном оборудовании.

Ссылки на проект

  • GitHub: https://github.com/BrandedTamarasu-glitch/OllamaAMDNPU
  • Журнал изменений: https://brandedtamarasu-glitch.github.io/OllamaAMDNPU/xdna-npu/

Проект был создан с помощью Claude Sonnet 4.6 / Claude Code, что раскрыто для целей воспроизводимости. Разработчик ищет отзывы от других пользователей, работающих на Strix Halo или Phoenix с драйвером amdxdna, чтобы сравнить пропускную способность декодирования на сопоставимых квантованиях и определить, сталкиваются ли другие конфигурации XDNA2 с тем же потолком производительности.

📖 Read the full source: r/LocalLLaMA

Ad

👀 Смотрите также

Пещерный человек: Навык Клода для кода, который сокращает 75% токенов, используя пещерный стиль речи
Инструменты

Пещерный человек: Навык Клода для кода, который сокращает 75% токенов, используя пещерный стиль речи

Caveman — это навык Claude Code, который сокращает использование токенов примерно на 75%, заставляя Клода отвечать кратко, в стиле пещерного человека, сохраняя при этом полную техническую точность. Устанавливается через npx или маркетплейс плагинов Claude.

OpenClawRadar
PocketBot: iOS-приложение использует Claude для генерации детерминированных JavaScript-автоматизаций из естественного языка.
Инструменты

PocketBot: iOS-приложение использует Claude для генерации детерминированных JavaScript-автоматизаций из естественного языка.

PocketBot — это мобильное приложение для автоматизации на iOS, которое использует Claude через AWS Bedrock для преобразования запросов на естественном языке в автономные JavaScript-скрипты. ИИ пишет код один раз, после чего детерминированные скрипты запускаются по расписанию в изолированной среде выполнения без участия искусственного интеллекта.

OpenClawRadar
Открытый крючок оценки доверия для Claude Code отслеживает сессии и блокирует защищённые пути
Инструменты

Открытый крючок оценки доверия для Claude Code отслеживает сессии и блокирует защищённые пути

Разработчик создал Python-хук, который оценивает каждую сессию Claude Code по параметрам надежности, охвата и стоимости, блокирует доступ к защищенным путям, таким как .env файлы, и использует цепочки хэшей для обнаружения несанкционированных изменений. Этот однодокументный инструмент доступен на GitHub.

OpenClawRadar
Zerro: Укажите на ваше живое приложение, говорите, и смотрите, как Claude Code мгновенно редактирует его
Инструменты

Zerro: Укажите на ваше живое приложение, говорите, и смотрите, как Claude Code мгновенно редактирует его

Zerro — это приложение для Mac, которое позволяет наводить курсор на работающее приложение, вслух описывать изменения, а Claude Code редактирует реальные файлы в реальном времени. Оно отслеживает движение, определяет, какой элемент вы имеете в виду, и создает контрольные точки перед каждым запуском.

OpenClawRadar