Software Overview

Palette™ is SiMa.ai’s flagship software platform, supporting the entire product development cycle from model creation to deployment of a fully accelerated end-to-end application. It enables developers to start with an ML model from any major framework and take it all the way through optimization, packaging, and deployment on SiMa.ai’s MLSoC.
Once installed on the host development machine, Palette runs seamlessly inside Docker containers, providing access to all APIs, frameworks, libraries, and CLI tools required to build, deploy, and debug complex AI/ML applications for SiMa.ai devices.
This section provides an overview of Palette and its key components.
Note
Palette™, and all its components, run fully on a host development machine within the Docker container (including all compilers mentioned in this section).
SDK Containers
The SiMa.ai SDK provides four primary development containers. Each offers an isolated, purpose-built environment supporting a specific stage of the development workflow, from model preparation to application deployment.
SDK Containers
ModelSDK
The ModelSDK container provides the complete environment for the model preparation phase. It is used to load, quantize, validate, and compile pre-trained machine learning models into formats optimized for the SiMa.ai Machine Learning Accelerator (MLA).
MPK CLI Tools
This container serves as the primary toolchain for building, packaging, deploying, and managing applications across SiMa.ai device platforms. It generates ML Application Packages (MPKs) and automatically invokes the appropriate cross-compilation environments needed during standard builds.
eLxr Cross-Compiler
This container provides the necessary environment to cross-compile applications for the eLxr operating system used on the Modalix platform. It is typically invoked automatically by the MPK toolchain but can be accessed directly for building non-MPK standalone binaries. For more details on accessing the SDK and using the cross-compiler, see Cross Compilation Environment.
Yocto Cross-Compiler
This container provides the toolchain required to cross-compile applications for the Yocto operating system used on standard MLSoC platforms. Like the eLxr compiler, it is usually used automatically during MPK builds but supports direct access for manual compilation tasks. For more details on accessing the SDK and using the cross-compiler, see Cross Compilation Environment.
Palette Tools & Resources
GStreamer Plugin Zoo
Developers building real-time, high-performance applications on SiMa.ai’s MLSoC often rely on GStreamer. To simplify this workflow, SiMa.ai provides a comprehensive set of pre-built GStreamer plugins that expose all major hardware IP blocks as well as commonly used functions. These plugins can be used out-of-the-box or customized and recompiled to meet specific application needs.
AppZoo
AppZoo is a collection of sample MPK applications that demonstrate how to build and deploy a variety of ML workloads on SiMa.ai hardware. Each example serves as a reference for best practices in application structure, packaging, and runtime integration.
ModelZoo
ModelZoo is a library of precompiled, MLA-ready models that can be executed directly on SiMa.ai hardware. These models allow developers to quickly validate workloads and accelerate application prototyping.
Debugging and Logging
Palette™ includes tools that streamline debugging and logging directly from the host
machine. Alongside standard gdb support, Palette provides remote debugging capabilities for
applications running on the MLSoC, as well as tools to retrieve or stream logs from the device back
to the host environment.
Development Flow
A typical machine learning application development flow consists of the following high-level steps:
Development Step |
Palette Component(s) |
|---|---|
Palette Setup |
Palette install package and Docker |
Setup MLSoC Developer Board |
Palette and MLSoC Developer Board |
Run model loading and compilation examples |
ModelSDK, MLA Compiler (included inside the ModelSDK) and Palette examples |
Load, quantize, test and compile custom neural network model from ML framework (PyTorch, TF, …) |
ModelSDK, MLA Compiler (included inside the ModelSDK) |
Testing model on board |
Accelerator mode and example scripts |
Begin application development using GStreamer by running examples |
Palette GStreamer examples, MPK tools, Arm Cross-Compiler |
Begin application development |
MPK tools, Arm Cross-Compiler, GStreamer Plugin Zoo |
Deploy, debug and manage application |
MPK tools, Arm Cross-Compiler, GStreamer Plugin Zoo, Debugging and Logging |
Debug on device (not through Palette tools) |
GDB and PDB through ssh |