Profiling
After output validation, measure the model on the board under recorded build and runtime conditions. This step is optional: conversion and firmware compilation do not establish timing or energy results.
What you need
Section titled “What you need”Use a supported board, J-Link connection and Arm toolchain. Follow the profiler installation guide for the profiler’s version and environment requirements. Its AOT integration is installed in a Python environment with:
pip install 'helia-profiler[aot]'hpx doctorResolve missing prerequisites before profiling. Profiling can generate and build another module; retain its effective configuration and versions instead of assuming it is the identical binary used in the previous validation.
Run and compare
Section titled “Run and compare”The measurement guide is the complete configuration and interpretation procedure. The repository’s profile-with-hpx example provides paired KWS configurations. Run from that example’s directory after fetching its model, or use equivalent paths in your own saved configurations.
The profile commands program and execute on the connected board:
hpx profile --config hpx_rt.ymlhpx profile --config hpx_aot.ymlhpx compare results/comparison_rt results/comparison_aot --output-dir results/rt-vs-aotCompare the same model bytes, board, clocks, memory placement, library/toolchain settings and iteration/warmup policy. Read whole-inference timing before layer measurements. Different operator sequences can prevent meaningful layer pairing. Keep raw results and tool/configuration versions with the comparison.
Power and energy require a supported power monitor, correct wiring and profiler configuration. Follow the profiler’s power guide for that setup; a debug probe alone does not measure power.
Where to go next
Section titled “Where to go next”- Measurement guide for the full procedure.
- Guides for memory and deployment changes.
- Reference for exact settings and generated interfaces.