Запуск LLM на AMD NPU с помощью FastFlowLM — руководство для Fedora

Теперь вы можете запускать большие языковые модели (LLM) напрямую на вашем AMD NPU, используя Fedora. В этом руководстве показано, как настроить стек на ASUS ROG Flow Z13 с чипом Ryzen AI Max 390.

Для работы требуется четыре уровня:

  • Ядро + драйвер DKMS (amdxdna): создает узел устройства и загружает прошивку.
  • XRT base: среда выполнения AMD.
  • XRT NPU plugin: позволяет XRT видеть NPU.
  • FastFlowLM (flm): инструмент для запуска моделей.

Так как в Fedora отсутствуют готовые пакеты для этого, вам придется собирать всё из исходного кода.

⚠️ Важные исправления перед началом

  1. Включите IOMMU Многие пользователи отключают IOMMU для настройки GPU. Это нарушает работу NPU. Проверьте настройки: cat /proc/cmdline Если вы видите amd_iommu=off, удалите этот параметр из /etc/default/grub, перегенерируйте конфигурацию grub и перезагрузите систему.

  2. Установите неограниченный лимит memlock NPU требуется заблокированная память. Проверьте лимит: ulimit -l Если он не является неограниченным, добавьте следующее в /etc/security/limits.d/99-memlock.conf: * soft memlock unlimited * hard memlock unlimited Затем выйдите из системы и войдите снова.

  3. Исправьте путь к xrt-smi Не создавайте символьную ссылку на xrt-smi — это нарушит работу внутреннего скрипта. Вместо этого используйте обертку:

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

Краткое описание этапов сборки

  • Установка зависимостей: используйте dnf для установки git, dkms, cmake и различных библиотек разработки.
  • Сборка XRT: клонируйте репозиторий xdna-driver. Создайте обертку cmake3 для Fedora. Соберите и установите RPM-пакеты.
  • Установка NPU Plugin: соберите xrt_plugin из репозитория xdna-driver и установите полученный RPM-пакет.
  • Сборка FastFlowLM: клонируйте репозиторий FastFlowLM и используйте cmake для сборки и установки.

Команды для проверки

Проверка ядра и NPU: flm validate

Проверка оборудования: xrt-smi examine xrt-smi validate

Запуск модели: flm run gemma4-it:e4b

Показатели производительности (Ryzen AI Max 390)

  • Время до первого токена: 1,21 с
  • Скорость префилза (prefill): 18 токенов/с
  • Скорость декодирования: 11 токенов/с

Источник: https://dev.to/ankk98/running-llms-on-amd-npu-with-fastflowlm-fedora-guide-1oo5

Дополнительное сообщество для обучения: https://t.me/GyaanSetuAi