HeliosAOT Overview
HeliosAOT is an ahead-of-time compiler that transforms trained models (e.g., LiteRT flatbuffers) into highly optimized, standalone C modules tailored specifically for Ambiq’s ultra low-power System-on-Chips (SoCs). By shifting neural network inference code generation to build time, HeliosAOT delivers compact, efficient, and readable C output with zero runtime overhead.
Core Workflow
- Input configuration: Accepts a model (
.tflite
) and a YAML configuration file defining conversion parameters (e.g., memory planner type, module prefix, test harness inclusion). - Load AIR Model: Loads the model into an Ambiq Intermediate Representation (AIR) model, which captures the model's structure, operators, and tensors.
- Transform: Applies graph-level transforms such as operator fusion to the AIR model.
- Resolve: AOT handlers pick concrete kernels and able to mutate the AIR graph (e.g., add scratch tensors)
- Plan: Automatically schedules tensor lifetimes across available memory regions via a memory planner (e.g., greedy planner).
- Emit: Generates all of the necessary C source and header files including module scaffolding.
Key Benefits
- Ultra‑Compact Footprint: Flash usage slashed, unlocking advanced inference on resource‑constrained devices.
- Performance‑Optimized: Leverage Helium (M55) and M4 DSP extensions with a wider operator set than stock TFLM.
- Deterministic, Readable Code: Network structure and buffer lifetimes are explicit in the generated sources, simplifying code review and debugging.
- Flexible Customization: Tweak planner algorithms, enable or disable operators, or extend support for new ambiq‑specific accelerators.
- Seamless Toolchain Integration: Out‑of‑the‑box Zephyr and neuralSPOT module support. Also supports generating generic CMake library.
Who Should Use HeliosAOT?
- Embedded AI Engineers looking to deploy machine learning models on battery‑powered, resource‑limited Cortex‑M devices.
- Firmware Developers who need predictable memory usage and minimal runtime overhead.
- System Architects aiming to benchmark and compare model footprints and latency across Ambiq’s SoC lineup.
Next Steps
- Visit the Getting Started guide to generate your first module.
- Explore the CLI Reference for advanced flags and configuration options.
- Check out How-To and Guides for examples and real-world use cases.