Software Overview

Palette SW components

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.

../../_images/sdk-containers.png

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 Flow with Palette Software

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