Originally a part of Arm Holdings that licensed its IP in China, Arm China began to develop its own IP specifically for customers in the People's Republic a few years ago. The company does not develop its own high-performance general-purpose cores, but its neural processing unit (NPU) can become a significant building block for inexpensive processors now that its open-source driver will soon be added the Linux kernel, reports Phoronix.
This driver, which is open-source for both the kernel and user space, aims to bring Arm China's Zhouyi AI accelerator technology into the mainstream Linux world. The move will make the IP block easy to program for software developers, making it much more attractive for chip designers. While Zhouyi will hardly directly compete against AMD's Ryzen AI engine, Apple's NPU, or Intel's AI accelerator, it will have a chance to sneak into potentially tens of millions of devices, just like the aforementioned technologies, which will put Arm China's platform on local AI inference map.
Developer boards with Arm China's Zhouyi AI accelerator technology, such as the EAIDK310 development board, have been available at Aliexpress and Amazon for some time, so at least some developers have had a chance to play with this IP. The EAIDK310 uses a Rockwell-designed processor with the Zhouyi AI accelerator, but Phoronix claims that there is also the Allwinner R329 system-on-chip that packs the same IP.
The project started three years ago with a kernel-only driver, and since then, Arm China has developed a full driver stack. This development is a big step forward in making AI accelerator technology more widely available and integrated into the Linux ecosystem, but Phoronix reports that we are not quite there yet.
Currently, the discussion thread on the mailing list is primarily focused on expressing interest and determining the criteria for potentially integrating the Arm China NPU driver into the main Linux kernel. The process will involve reviews by the upstream DRM/accel maintainers, who will check the code to ensure it aligns with the necessary interfaces and other requirements.