Etnaviv Driver With Linux 6.3 Enables VeriSilicon NPU Cores

Written by Michael Larabel in Hardware on 9 February 2023 at 12:00 AM EST. Add A Comment
HARDWARE
The Etnaviv DRM driver started out in the Linux kernel providing reverse-engineered kernel graphics driver support for Vivante graphics IP developed by VeriSilicon and found within various SoCs. With the upcoming Linux 6.3 cycle the Etnaviv DRM driver is adding support for VeriSilicon's Neural Network Processor (NPU) IP.

Etnaviv maintainer Lucas Stach sent in the Etnaviv Direct Rendering Manager driver updates to DRM-Next on Wednesday for the upcoming Linux 6.3 merge window.

In addition to now being able to report GPU load information, making this driver update notable is experimental support for VeriSilicon NPU cores. VeriSilicon's Vivante graphics IP and their NPU cores turn out to be very close and design and not too much effort getting the NPU cores working with this DRM driver, which may be interesting for some compute use-cases with OpenCL.

Vivante NPUs


It turns out the VeriSilicon NPUs and Vivante graphics cores use the same compute instruction set while the NPU has a large neural network fabric / matrix / tensor execution array attached. Tomeu Vizoso of Collabora tackled the Verisilicon VIPNano-QI NPU in the A311D as in the VIM3 board as his target. Tomeu commented in the patches, "The IP is very closely based on previous Vivante GPUs, so the etnaviv kernel driver works basically unchanged."

Khana VIM3


The Khada VIM3 board is a ~$120 USD single board computer built around an Amlogic A311D with four Cortex-A73 cores and two Cortex-A63 cores while being focused on AI tasks with the onboard NPU.

The NPU is focused on compute vision and AI workloads while this Mesa merge request gets Etnaviv supporting OpenCL via the Gallium3D Clover and Rusticl state trackers. So once that Mesa code lands and running Linux 6.3+, the NPUs could be exploited for general purpose OpenCL compute.

See the Etnaviv DRM pull request for the full list of changes with this driver targeting Linux 6.3.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week