Intel Releases Revised GNA Driver for Neural AI Coprocessor
While Intel and the rest of the tech industry continue to invest immense resources in and talk about AI, one of the efforts that has been slow to materialize on the Linux side has was to enable their Gaussian and Neural Accelerator (GNA) with the mainline Linux kernel. This week, the latest Intel GNA driver patches were released for this neural coprocessor.
The Intel Gaussian and Neural Accelerator (GNA) coprocessor has been around since the botched Cannon Lake and continues to be found in the latest Intel Core processors while also being present in various Pentium processors (Gemini Lake/Elkhart Lake), as well as the Intel Speech Enabling Developer Kit and Amazon Alexa Premium Far-Field Developer Kit. The GNA coprocessor is intended for continuous inference workloads such as noise reduction, speech recognition, and similar tasks to free up CPU resources.
Since February 2021, Intel engineers have started working on upstreaming their GNA driver. It’s been almost two years since they are now on their fourth version of the driver as they work to eventually integrate it into the mainline kernel.
The Intel GNA v4 Linux driver released on Thursday has been adapted to use the kernel’s Direct Rendering Manager (DRM) framework. The userspace GNA library has also been adapted to this change to link the AI driver to the DRM kernel subsystem. This has been something sought after by DRM maintainers with many AI accelerators fitting tightly to the GPU DRM subsystem and its semantics.
Additionally, the v4 patches have now been tested on the Linux 6.0 kernel, various fixes and items raised in the previous review have been fixed, along with other updates.
It’s too late to arrive in 2022 with kernel 6.1, but we’ll see if the Intel GNA driver is finally ready for the mainline in 2023. The intel_gna v4 patches are now available for review on the kernel mailing list.
The GNA userspace library is open source for using this neural coprocessor and Intel’s OpenVINO deep learning toolkit software is an example of userspace software ready to use the GNA when it is enabled on Linux. Last week marked the release of v3.0 of the Intel GNA Userspace Library.