User guide
Use this guide after heliaCORE is linked into your application. It takes you from choosing a function to supplying its tensors and working memory, enabling the right execution path, and checking the result on your Ambiq target.
Deploy a complete model
Section titled “Deploy a complete model”Most application developers should start with heliaAOT or heliaRT. Both use heliaCORE for supported operations on Ambiq silicon.
Ahead-of-time compilation
heliaAOT
Start here for latency, power, and memory efficiency. Compile supported models into C for execution without an on-device interpreter.
Interpreter-based execution
heliaRT
Use Ambiq’s optimized LiteRT for Microcontrollers runtime when you want the familiar interpreter and tensor-arena workflow.
This guide covers direct kernel integration and custom runtimes. If the library is not integrated yet, start with Getting started.
Choose your next task
Section titled “Choose your next task”Explore operator families and data types, then check the shape and layout requirements of a specific API.
Choose a wrapper or specialized function, prepare its parameters, and check the returned status and output.
Include the operator groups and numeric types you need, with matching compiler settings and headers.
Measure representative inputs on your target and separate kernel timing from complete model latency.
From a model operation to a kernel call
Section titled “From a model operation to a kernel call”| Step | Decide | Continue with |
|---|---|---|
| Select | Which operation, numeric format, and tensor layout does the model require? | Operator coverage and Data types |
| Prepare | Which offsets, multipliers, shapes, and buffers does this API expect? | Quantization, Calling kernels, and Memory |
| Configure | Which source groups and processor features should the build include? | Build options, Targets, and Toolchains |
| Verify | Does the output match a reference, and is the selected implementation efficient for this shape? | Acceleration and Measurement |
An available C function, an accelerated implementation, and an operation supported by a model runtime are different things. Check the function contract for data-type and shape restrictions, then confirm that your runtime actually calls it.
Find the cause of a problem
Section titled “Find the cause of a problem”| Symptom | Start here |
|---|---|
| Function is undeclared or missing at link time | Build options: source groups, data types, and public feature definitions |
| Function returns an error | Calling kernels: constraints and status handling |
| Output is incorrect | Quantization and the function’s tensor layout in the API reference |
| Scratch memory is too large or incorrectly reused | Memory: sizing, ownership, and lifetime |
| Output is correct but execution is slow | Acceleration and Measurement |
The API reference is the source for each function’s parameters and constraints. The kernel index lets you search, filter, and sort that inventory without browsing header files.