Аннотация:
Поскольку процессоры искусственного интеллекта становятся все более популярными, все больше и больше компьютеров начинают оснащаться процессорами нейронных сетей (NPU), специально используемыми для вычислений ИИ. Однако этот тип оборудования в настоящее время в основном используется для вывода локальных моделей искусственного интеллекта и обработки изображений, а повседневные настольные компьютеры Windows по-прежнему в основном полагаются на встроенные или независимые видеокарты для завершения рендеринга графики.

Недавно команда разработчиков под названием labscommunity запустила проект npu-driver с открытым исходным кодом, успешно реализовав довольно специфический эксперимент: позволив Windows 11 полностью выполнять синтез графики рабочего стола через NPU, вместо того, чтобы полагаться на традиционный графический процессор. Хотя текущая скорость работы чрезвычайно мала, этот результат доказывает, что NPU, который изначально использовался в основном для вычислений искусственного интеллекта, также может выполнять некоторые традиционные задачи обработки графики.
Проект распространяется по лицензии с открытым исходным кодом Apache 2.0, а исходный код публично опубликован на GitHub. Цель команды разработчиков — изучить вопрос: можно ли полностью перенести работу по рендерингу рабочего стола, первоначально выполненную графическим процессором, на NPU без изменения приложения Windows и композитора рабочего стола?
Для достижения этой цели разработчики разработали специальный драйвер дисплея, который перехватывает графические операции, первоначально отправленные на видеокарту диспетчером окон рабочего стола Windows (DWM), а затем преобразует эти операции в вычислительные задачи, которые может обрабатывать NPU.
Приложения Windows по-прежнему работают традиционным способом. Блокнот, Проводник, Меню «Пуск», Microsoft Edge и другие окна не требуют специальной адаптации к NPU. Что действительно изменилось, так это базовый путь обработки графики: задачи компоновки рабочего стола, первоначально выполняемые графическим процессором, были переназначены на NPU.
Что касается конкретной реализации, npu-driver использует специальный драйвер пользовательского режима Direct3D 10 для записи графических операций в виде пакетов данных кадра, которые затем передаются в NPU Intel для обработки через OpenVINO и выделенное вычислительное ядро SHAVE. В системе также реализован собственный модуль обработки растеризации, который отвечает за традиционные графические операции, такие как обработка вершин, выборка текстур и смешивание слоев.
В настоящее время данное решение тестируется на ноутбуках, оснащенных процессорами Intel Panther Lake. Panther Lake использует архитектуру NPU пятого поколения, а вычислительная мощность NPU соответствующих процессоров достигает 45–50 TOPS.
Однако результаты экспериментов также выявили очень очевидную проблему: производительность.
Текущая скорость обновления рабочего стола npu-драйвера составляет всего 2–3 кадра в секунду, а в некоторых тестах даже составляет 0,6 кадра. Для сравнения, стандартный рабочий стол Windows обычно работает со скоростью 60 кадров в секунду или более. Даже если игры не задействованы, простое перемещение окон, открытие проводника или управление панелью задач могут стать очень медленными.
Другими словами, это решение в настоящее время доказывает, что NPU может выполнять полные задачи синтеза графики настольного компьютера, но он далек от уровня производительности, необходимого для повседневного использования.
Разработчики ставят целью увеличить частоту обновления до 30 кадров в секунду, но до этой цели им пока далеко.
Чтобы избежать серьезных сбоев в ходе эксперимента, команда разработчиков также спроектировала механизм автоматического отката. Когда в драйвере NPU возникает ошибка или пользователь активно запрашивает переключение, система может повторно использовать встроенную или независимую видеокарту для завершения рендеринга графики. Однако этот механизм восстановления все еще имеет некоторые ограничения. В некоторых тестах положения всех окон приложений не удалось полностью восстановить.
Разработчик проекта подчеркнул, что npu-driver на данный момент является лишь исследовательским прототипом, а не готовым продуктом для потребителей. Для этого требуется специальное оборудование Intel Panther Lake, совместимые драйверы NPU и дополнительные инструменты разработки. Обычные пользователи не могут просто установить его и запустить систему Windows 11 без графического процессора.
Значение этого эксперимента на самом деле не в том, чтобы доказать, что NPU может заменить видеокарту, а в том, чтобы изучить, как перераспределить работу различных вычислительных блоков внутри современных процессоров.
Сегодняшние процессоры, графические процессоры и NPU преследуют разные цели проектирования. Графический процессор хорош для крупномасштабных параллельных графических вычислений, а NPU специально оптимизирован для матричных операций и рассуждений нейронных сетей. Разрешение NPU брать на себя задачи настольного рендеринга означает, что разработчикам придется заново конвертировать традиционные процессы обработки графики в задачи, подходящие для вычислительных блоков нейронных сетей, что само по себе является довольно сложным проектом.
Однако, если в будущем можно будет значительно повысить эффективность обработки, NPU сможет взять на себя некоторые легкие настольные задачи, первоначально выполняемые графическим процессором, тем самым высвободив ресурсы графического процессора для игр, обработки видео или локального вывода ИИ.
В настоящее время npu-driver еще далек от того, чтобы стать по-настоящему практичным, но он прошел интересную техническую проверку: рабочий стол Windows 11 способен не только выполнять синтетический рендеринг с помощью традиционных графических процессоров. NPU в современных процессорах также может взять на себя эту работу, но цена производительности на этом этапе слишком велика.
Подробнее:
https://github.com/labscommunity/npu-render
Комментарии