Home Content News Open Source Driver Supports Neural Processor

Open Source Driver Supports Neural Processor

0
4

The updated Linux graphics and AI driver enables support for a newer neural processing unit through reverse engineering, helping developers run AI workloads on mainline Linux.

An existing open-source Linux driver has been modified to support an additional neural processing unit (NPU) used in an embedded processor. This was possible through numerous reverse-engineering works done by the developer.

The modification is based on the existing Rocket driver, which supports an older version of NPU. Even though there is similarity in terms of the hardware architecture, some hardware registers remain undocumented, preventing the driver from operating on its own. The developers had to understand the hardware registers in order to get the driver working properly with the NPU.

The driver’s functionality was tested on an embedded board using an up-to-date Linux kernel release candidate. The developer reported that the reverse-engineering work produced byte-exact results matching a CPU reference for single INT8 convolution tasks

Additionally, the project has uncovered some limitations that are still unresolved. Execution of chained tasks is currently blocked as a result of a part of hardware sequencing not being accessible to software. The developer decided not to pursue this issue further and to publish his results to help future developments.

All the source code, documentation, and build instructions have been made publicly available through the project’s repository to enable other developers to reproduce the implementation and make any changes. Additionally, some runtime modules have been provided to show the ability to execute large language models and computer vision applications using the supported hardware.

While full hardware acceleration still needs further developments, the new driver is another step towards complete open-source support for embedded AI processors in the mainline Linux kernel. By documenting previously unknown hardware capabilities and making the implementation publicly available, the project is expected to support future Linux development for such AI accelerators.

 

LEAVE A REPLY

Please enter your comment!
Please enter your name here