Habana is an Intel company that designs machine learning accelerators for both training and inference. Their kernel driver is available upstream in the Linux kernel.
This resulted in issues with the Linux kernel community in the past, resulting in the release of an open-source very minimally functional user-mode driver stack.
Does that mean that the software stack for that silicon is open-source? No, definitely not.
Let’s look at that repository: https://github.com/HabanaAI/SynapseAI_Core
The limitation section is pretty huge, and is full of dealbreakers for any kind of production use. For illustrative purposes, we’ll pick two of them:
This version of the library doesn’t implement any operations itself. This means for an operation like reshape or split, the user has to resolve it themselves, or write a TPC kernel to perform it.
This means that the actual MMA machine learning accelerators will not be used, with the general-purpose TPCs being used for all operators instead.
The implementation is limited to single-node graphs. Calling synNodeCreate on a graph that already contains a node will fail.
Enough said, this means that this open-source user-mode driver stack is not suitable for any kind of production use whatsoever.
The release of that stack was announced on the LKML, which had this gem in the message:
SynapseAI Core contains all the necessary building blocks to run Deep Learning training on Gaudi, although not as optimized as the closed-source library.
What an understatement.