13 июня был опубликован открытый драйвер ядра для нейронного процессора RK3588 от Rockchip. Разработкой занимается инженер Томеу Визосо (Tomeu Vizoso).
В последние несколько недель я работал, среди прочего, над драйвером ядра для NPU в SoC Rockchip RK3588, который написан с нуля. ... Теперь он полностью работоспособен, и вчера после сильной доработки я отправил его в списки рассылки ядра для проверки. Желающие могут увидеть код и следить за процессом проверки по данной ссылке.
Драйвер ядра может полностью использовать три ядра NPU, что дает нам возможность одновременно выполнять 4 вывода обнаружения объектов, такие как приведенный ниже, в потоке, со скоростью почти 30 кадров в секунду.
Драйвер пользовательского пространства находится в менее доработанном состоянии, но и в таком состоянии он полностью функционален. В ближайшие дни я буду работать над доведением его до вида, пригодного к отправке на рассмотрение.
Это первый драйвер, предназначенный только для ускорителя, для периферийного NPU, представленный в основном ядре, и, будем надеяться, он сможет послужить шаблоном для следующих, поскольку различия между NPU разных производителей относительно поверхностны.
В представленной серии патчей содержится 6200 строк кода, составляющие драйвер ядра Rocket, который сейчас вынесен на рассмотрение и обсуждение к включению в основную ветку ядра.
Нейронный процессор (или Neural Processing Unit, NPU, ИИ-ускоритель / AI accelerator) — это специализированный класс микропроцессоров и сопроцессоров, используемый для аппаратного ускорения работы алгоритмов искусственных нейронных сетей, компьютерного зрения, распознавания по голосу, машинного обучения и других методов работы искусственного интеллекта.