Skip to main content

Call your first kernel

Use the build guide to install a host or A65 package first. Applications use C++20, installed public headers and explicit operation targets:

find_package(SimaKernels CONFIG REQUIRED)
target_compile_features(your_application PRIVATE cxx_std_20)
target_link_libraries(your_application PRIVATE SimaKernels::quant)

Add those lines to your application's CMake after defining its target. Use a host package for x86 development and the A65 package with the matching SDK toolchain for target execution. Host results do not qualify A65 execution.

Start with Quant's public call and the call lifecycle. Declare input and output specs, check preparation errors, then bind caller-owned storage with the checked physical capacities and alignment. A65 execution is synchronous; retain its buffers until it returns. QuantTess adds explicit tiled storage. BoxDecode shows multiple ports and reusable per-in-flight context.

The snippets explain API use; they are not standalone programs or qualification results. Follow each page's links to its production correctness and latency tests for runnable calls and independent expected outputs. From the repository root, use the build and test workflow to run those tests and the installed-package compatibility check. The architecture-safe launcher checks the binary before choosing host or DevKit execution; never execute AArch64 on x86.

EV74 calls require additional device admission, compatible firmware, mapping, submission and retirement through Runtime. A host codec call only prepares a packet; it does not execute device math. See the EV74 catalogue and each operation's standalone device fixture. Keep input, output and workspace owners alive until confirmed device completion, not just submission return.