NXP Neutron NPU Kernel Driver Blocked For Now By A Closed-Source User-Space Blob
Last month NXP posted open-source Linux kernel driver patches for their Neutron NPU accelerator. The NXP Neutron NPU aims to help with edge AI applications and this neural processing unit is found in their different SoCs. Unfortunately, their GitHub repository for the user-space software ends up containing a binary-only blob that will end up delaying plans on getting this driver into the mainline Linux kernel.
NXP hosts a GitHub repository with a user-space library and custom LiteRT (TensorFlow-Lite) delegate workloads on this Neutron NPU found with NXP SoCs like the i.MX95. Unfortunately, it's now been discovered by upstream Linux kernel developers that this open-source repository ends up depending upon a binary-only library, libNeutronDriver.so.
NXP engineers commented on the Linux kernel mailing list that they plan to publish the source code but it could still be a few months away.
Thus the latest on the kernel mailing list thread is that NXP engineers are raising the matter internally. But without an open-source user-space implementation being met, the kernel driver won't be mainlined if there are no open-source user-space usage -- a situation that has delayed or prevented other kernel drivers from being upstreamed in the past if they are only useful with binary blobs in user-space.
NXP hosts a GitHub repository with a user-space library and custom LiteRT (TensorFlow-Lite) delegate workloads on this Neutron NPU found with NXP SoCs like the i.MX95. Unfortunately, it's now been discovered by upstream Linux kernel developers that this open-source repository ends up depending upon a binary-only library, libNeutronDriver.so.
NXP engineers commented on the Linux kernel mailing list that they plan to publish the source code but it could still be a few months away.
Thus the latest on the kernel mailing list thread is that NXP engineers are raising the matter internally. But without an open-source user-space implementation being met, the kernel driver won't be mainlined if there are no open-source user-space usage -- a situation that has delayed or prevented other kernel drivers from being upstreamed in the past if they are only useful with binary blobs in user-space.
