
Profile LiteRT models on Ambiq hardware.#
One command to build, flash, capture PMU counters, and generate reports — with heliaRT or heliaAOT.
Alpha
heliaPROFILER is pre-1.0. Breaking changes may land on minor versions until v1.0 — pin an exact version for anything long-lived.
Features#
-
End-to-end profiling
Cycle counts, instruction counts, cache stats, and per-layer PMU breakdowns — all from a single
hpx profilecommand. -
Three engines
Profile the same model with vanilla TFLM, heliaRT (interpreter), or heliaAOT (ahead-of-time compiler) — one explicitly-chosen engine per run.
-
Apollo 3 / 4 / 5
Built-in platform definitions for every Ambiq SoC family. Full Armv8‑M PMU on AP5, DWT cycle counts on AP3/AP4.
-
Power measurement
Optional Joulescope integration for current and voltage traces alongside PMU data.
-
Model Explorer overlays
Export per-layer metrics as JSON overlays for Model Explorer — see hot operators at a glance.
-
YAML + CLI config
Declarative config merged with CLI flags. Frozen and immutable — no surprises mid-run.
How it works#
- Install heliaPROFILER and its dependencies.
- Check that the ARM toolchain, J-Link, and NSX are available.
- Profile with defaults — heliaRT, GCC, RTT capture, CPU counters, on the
connected Apollo510 EVB. Results land in
./results/.
The pipeline handles firmware generation, build, flash, data capture, and report output. Each step is a modular stage that fails with clear, actionable errors.
Where to start#
Pick the path that matches what you're trying to do:
-
First time here?
Install the toolchain and profile your first model in minutes.
-
Configuring a run
YAML config, CLI flags, engine options, board selection, memory placement, PMU counters, and power measurement.
-
Doing a specific task
Short recipes for common scenarios (basic profiling, engine comparison, power capture), plus worked patterns for multi-feature workflows.
-
Integrating or automating
Every
hpxsubcommand and flag, the configuration schema, and theprofile()Python API for calling heliaPROFILER programmatically.
About the numbers in these docs
Sample power, energy, and latency values shown throughout this site
(mA, mW, µJ, cycle counts) are illustrative placeholders, not real
captured measurements. Your own hardware, model, and configuration
will produce different numbers — run hpx profile to get yours.