The Linux Kernel Likely To See A Hardware Accelerator Subsystem
Given the increasing rise of hardware accelerators for compute offloading of particular tasks especially now around deep/machine learning with more chips coming to market, the Linux kernel will likely soon see the introduction of a formal subsystem for these different accelerator drivers.
This week saw the initial Linux kernel driver patches published for the Habana Labs Goya AI processor. That open-source driver effort and hardware is interesting in its own right, but being spurred unintentionally from that discussion was whether the Linux kernel should have a hardware accelerator subsystem for the current drivers and more that are surely coming down the pipe.
Right now the mainline drivers for these different "accelerators" are being managed within the kernel's "misc" area or in other trees. But there is a growing consensus that it would make sense for these accelerators to have their own subsystem, especially given their expected rise of the next few years.
Olof Johansson has proposed the initial implementation for this hardware accelerator subsystem.
The initial candidates for the drivers/accel area include OCXL (OpenCAPI / Open Coherent Accelerator Processor Interface), CXL (IBM Coherent Accelerator), and then obviously the Habana Labs Goya driver once ready.
Seeing over this new subsystem would be Olof Johansson and Greg Kroah-Hartman. While the kernel drivers are obviously open-source, the policy they are planning for ensuring open-source "clients" in user-space for now is just: "the bare minimum we need is an open low-level userspace such that the driver and HW interfaces can be exercised if someone is modifying the driver, even if the full details of the workload are not always available."
This new hardware accelerator subsystem could be merged as soon as the upcoming Linux 5.1 kernel as long as no strong disagreements arise.