От пользователейpace к Kernel Mode
Разработчик AMD Дэвид Чжан (David Zhang) представил серию из 21 патча для открытого драйвера AMDXDNA в Linux. Главная цель обновления — переход от устаревшего механизма отправки команд через userspace doorbell mapping к Kernel Mode Command Submission (KMQ). Теперь KMQ становится основным путем выполнения команд для NPU3 (архитектура AIE4), что обеспечивает более надежное управление очередями и блокировку ресурсов (BO reservation locking).
Улучшенное управление питанием
Ключевым преимуществом нового подхода становится полная поддержка управления питанием на уровне системы и во время работы (runtime). Обновление охватывает все типы устройств: Physical Functions (PF), Virtual Functions (VF) и классические устройства NPU3. Это критически важно для ноутбуков на базе AMD Ryzen AI 300 / PRO, где эффективность энергопотребления напрямую влияет на время автономной работы.
Технические детали и метрики
Новый стек драйвера внедряет следующие функциональные возможности:
- Управление очереями: Полная поддержка жизненного цикла очередей (queue lifecycle handling) и управление семафорами (fence management).
- SR-IOV: Добавлена зависимость управления питанием для виртуализации (SR-IOV PM dependency linking).
- Совместимость: Реализованы заглушки (stubs) для совместимости пользователейpace во время работы.
- Телеметрия: Добавлены запросы телеметрии устройства для мониторинга состояния NPU.
Значение для экосистемы
Переход на KMQ снижает нагрузку на пользовательское пространство и минимизирует задержки при передаче задач в нейронный процессор. Для разработчиков ИИ-приложений это означает более предсказуемую работу с AMD Ryzen AI 300 и стабильную работу функций сна/пробуждения (suspend/resume), которые ранее могли вызывать сбои при использовании NPU3.
Источник: Phoronix ↗
