# Examples

Choose a recipe for the result you need. Each example includes its configuration,
commands, expected output and validation status. Hardware recipes require the
listed board and tools; saved-result recipes can run without a connected board.

- [First results](https://ambiqai.github.io/helia-profiler/examples/basic-profiling/): One valid bundle from a board, then the full counter catalogue and the upstream baseline the Ambiq engines are measured against.
- [Comparisons](https://ambiqai.github.io/helia-profiler/examples/engine-comparison/): Separate captures of the same model across engines or toolchains, with comparison reports and the rules that withhold a delta.
- [Power](https://ambiqai.github.io/helia-profiler/examples/power-profiling/): The power capture recipe, how to read the power block a capture writes, and the rules that decide whether two captures compare.
- [NPU](https://ambiqai.github.io/helia-profiler/examples/atomiq110-npu-profiling/): A Vela-compiled model on the NPU with both counter families, under the experimental label its sources carry.
- [Automation and analysis](https://ambiqai.github.io/helia-profiler/examples/interactive-python/): Drive hpx from Python, run a matrix in one command, re-analyse bundles without a board, and put per-layer cost on the model graph.

## Find an example

Search by model, engine, board or measurement, or narrow the list by task and setup.

- [Profile a model](https://ambiqai.github.io/helia-profiler/examples/basic-profiling/): Profile — Capture timing and layer counters with heliaRT on Apollo510 EVB. Includes a historical hardware bundle. — workflow: Profile — setup: Board
- [Capture per-layer counters](https://ambiqai.github.io/helia-profiler/examples/per-layer/): Profile — Capture CPU, memory and MVE counters with heliaAOT on Apollo510 EVB. Recipe not yet hardware-validated. — workflow: Profile — setup: Board
- [Vanilla TFLM baseline](https://ambiqai.github.io/helia-profiler/examples/tflm-baseline/): Profile — Profile the keyword-spotting model with LiteRT for Microcontrollers and CMSIS-NN. Includes a captured baseline. — workflow: Profile — setup: Board
- [Compare engines](https://ambiqai.github.io/helia-profiler/examples/engine-comparison/): Compare — Compare heliaRT, heliaAOT and LiteRT on one model and board. Includes captured bundles and a host comparison. — workflow: Compare — setup: Board
- [Compare toolchains](https://ambiqai.github.io/helia-profiler/examples/toolchain-comparison/): Compare — Compare GNU Arm and ATfE builds using recorded runs. Arm Compiler 6 remains unvalidated in this recipe. — workflow: Compare — setup: Board
- [Power capture with a Joulescope](https://ambiqai.github.io/helia-profiler/examples/power-profiling/): Power — Add Joulescope power capture to a heliaAOT run. Configuration provided; no captured power bundle. — workflow: Power — setup: Board
- [Atomiq110 NPU profiling](https://ambiqai.github.io/helia-profiler/examples/atomiq110-npu-profiling/): NPU — Profile Ethos-U85 on the experimental Atomiq110 FPGA with heliaRT or heliaAOT. Recipe not yet validated. — workflow: NPU — setup: FPGA
- [Interactive Python session](https://ambiqai.github.io/helia-profiler/examples/interactive-python/): Automate — Explore Session configuration, profiling and comparison from Python. Host steps checked; hardware steps unvalidated. — workflow: Automate — setup: Host and board
- [Batch runs from YAML](https://ambiqai.github.io/helia-profiler/examples/batch-runs/): Automate — Run a model matrix with hpx validate. Includes a historical nightly run across four boards. — workflow: Automate — setup: Board
- [Re-analyse saved results](https://ambiqai.github.io/helia-profiler/examples/reanalyse-results/): Analyze — Verify, load and compare the supplied result bundles without a board. Host steps checked on those bundles. — workflow: Analyze — setup: Saved results
- [Per-layer cost on the model graph](https://ambiqai.github.io/helia-profiler/examples/model-explorer-overlay/): Analyze — View per-layer counters on a model graph. Output format documented; no captured overlay bundle. — workflow: Analyze — setup: Saved results
- [Read a power summary](https://ambiqai.github.io/helia-profiler/examples/power-read-summary/): Power — Read energy, measurement scope and capture health from a saved power summary. No captured power bundle. — workflow: Power — setup: Saved results
- [Compare two power runs](https://ambiqai.github.io/helia-profiler/examples/power-compare/): Power — Check power comparability before interpreting energy deltas. No captured power bundle. — workflow: Power — setup: Saved results

## What the validation status means

"Validated on" names a hardware run record: board, nsx module versions
(from the bundle's `nsx.lock`), date and source commit. Nine bundles from
the nightly hardware validation run of 2026-09-16 ship under
[`examples/results/hardware-validation-2026-09-16/`](https://github.com/AmbiqAI/helia-profiler/tree/main/examples/results/hardware-validation-2026-09-16),
published with probe serials redacted and manifest digests refreshed, so `load_result_manifest(..., verify=True)` passes on each.
A page whose recipe has no such record says "not yet validated", and a
compile-only run is never called profiled. Host-only steps (loaders,
`hpx compare`, `Session.resolve()`) record the date and hpx version they
were executed with.

## What next

[Getting started](https://ambiqai.github.io/helia-profiler/getting-started/) if hpx is not installed yet; the
[User guide](https://ambiqai.github.io/helia-profiler/guide/) for the mechanics behind every recipe; the
[Reference](https://ambiqai.github.io/helia-profiler/reference/) for every command, key and field.
