Intel Turning Their Gaussian & Neural Accelerator Into A DRM Driver
Found with Intel mobile SoCs since Ice Lake is their Gaussian and Neural Accelerator "GNA" that has been supported by an out-of-tree Linux driver while over the past year Intel engineers have been working to upstream an Intel GNA Linux driver into the mainline kernel. They have most recently been adapting this GNA driver to become a Direct Rendering Manager (DRM) driver alongside their Intel i915 kernel graphics driver and other conventional graphics drivers.
Intel's Gaussian and Neural Accelerator is a neural co-processor that can be used for offloading inference workloads. The GNA on modern Intel laptops has been used for tasks like noise reduction and speech recognition -- with a supported software stack. Over the past year they've been working on the open-source GNA driver with mainline intentions while during the review process by Intel's own Daniel Vetter of their graphics team suggested the GNA driver be adapted to become a DRM driver.
There's overlap between the DRM interfaces with conventional graphics drivers and the needs/interfaces for accelerator drivers, to no surprise. With the Linux kernel lacking any dedicated "AI" accelerator subsystem yet, the DRM area is also most akin for these types of drivers.
It was announced today they have been prototyping the new Intel GNA driver based on the DRM framework. As for their early findings with this GNA driver adaptation to DRM, "Early results look quite promising. Effective leverage of DRM framework for non GPU driver has been achieved. GNA driver source code turned out to have been simplified by offloading some areas (device management + memory regions management). As a result, GNA driver source code size has been reduced by 15% (420 lines). DRM Framework complexity has not been an issue so far."
They are expected soon to publish their new prototype driver to start facilitating the code review on that front.
Meanwhile the Intel GNA open-source user-space libraries and code samples for those interested in this accelerator remain on GitHub.
Intel's Gaussian and Neural Accelerator is a neural co-processor that can be used for offloading inference workloads. The GNA on modern Intel laptops has been used for tasks like noise reduction and speech recognition -- with a supported software stack. Over the past year they've been working on the open-source GNA driver with mainline intentions while during the review process by Intel's own Daniel Vetter of their graphics team suggested the GNA driver be adapted to become a DRM driver.
There's overlap between the DRM interfaces with conventional graphics drivers and the needs/interfaces for accelerator drivers, to no surprise. With the Linux kernel lacking any dedicated "AI" accelerator subsystem yet, the DRM area is also most akin for these types of drivers.
It was announced today they have been prototyping the new Intel GNA driver based on the DRM framework. As for their early findings with this GNA driver adaptation to DRM, "Early results look quite promising. Effective leverage of DRM framework for non GPU driver has been achieved. GNA driver source code turned out to have been simplified by offloading some areas (device management + memory regions management). As a result, GNA driver source code size has been reduced by 15% (420 lines). DRM Framework complexity has not been an issue so far."
They are expected soon to publish their new prototype driver to start facilitating the code review on that front.
Meanwhile the Intel GNA open-source user-space libraries and code samples for those interested in this accelerator remain on GitHub.
2 Comments