Private builds and validation
EV74 compilation requires the approved private CMake/MetaWare environment and a matching runtime/header cohort. Do not install or expose the licensed compiler, licensed headers, license configuration, credentials or restricted runner through a public build job.
Build inputs must agree
Individual device targets use the vendor evrt CMake integration. For example,
sima_quanttess/CMakeLists.txt (EV74/quanttess/device/CMakeLists.txt)
initializes evrt; the ordinary A65 root build does not initialize it.
Firmware assembly also needs the matching platform bridge, registrations and
runtime libraries. A subset of operation libraries is not replacement firmware.
The runtime-cohort verifier (EV74/firmware/verify_runtime_cohort.py) checks
selected compiler/runtime/header identities against
runtime-cohort.json (EV74/firmware/runtime-cohort.json). Its required
arguments are --runtime-install and --toolchain-env, supplied with paths from
the approved private environment. --runtime-install names the parent install
directory; the verifier appends the cohort's configuration subdirectory itself.
It inspects identities without executing vendor
binaries. Do not commit private paths or license settings, mix installation
cohorts, or bypass ABI assertions to make a build finish.
Native-only device packages
Device packages compile explicit native entries and workers by default. The
existing SIMA_KERNELS_EV74_NATIVE_ONLY=ON option remains accepted by the private
builder; OFF is rejected because these packages contain no legacy source path.
Use a fresh installation prefix. Cast's ocl_sima_cast.cl remains a live native
worker despite its older name.
The exported SIMA_EV74_NATIVE_ONLY property lets firmware composition reject
mixed or unmarked packages. Kernels generates the route catalogue from local
operation declarations and owns registrations and trusted relocation schemas in
EV74/firmware/native and installed ev74/native headers. Runtime consumes that
catalogue and owns generic platform dispatch, discovery and driver authorization.
Audit the final linked sources and qualify all selected operations: composition
can change linked placement even when individual numerical sources are unchanged.
The license-independent ev74_native_source_profiles test configures all 14
packages with the default and explicit native option through direct paths,
directory symlinks and individual file symlinks. It checks exact source selection
and exported profile markers using a stub build integration; it does not compile
device code or validate MetaWare.
Three different checks
| Check | What it establishes | What it does not establish |
|---|---|---|
| License-independent host checks | Cohort-verifier behavior, native tensor contracts and typed codec/mock dispatch | Successful MetaWare compilation or numerical device execution |
| Private device build | Selected sources compile/link against the selected runtime and headers | Correct values, safe transfer boundaries or target latency |
| Device qualification | Numerical/layout correctness, DMA tails, lifecycle and measured performance on matching hardware/artifacts | Compatibility with arbitrary future toolchain or firmware cohorts |
The ordinary kernel CTest workflow registers Runtime-cohort, typed admission,
codec, mock-entry and source-model checks. These are CPU tests launched with
architecture checks; they are not EV74 device execution. Native DetessDequant
checks include channel-blocked storage, fragment geometry, DMA pitch, padding and
strided-output boundaries. A changed Runtime cohort requires a fresh private build
and device qualification. The selected dispatcher supports dense one-through-four
group launches, including partial two- and three-group counts, without
per-operation ID remapping; see the
firmware requirements (EV74/firmware/README.md).
See build and test for A65 and host workflows. Those do not provide a generic EV74 host runner or activate the licensed compiler.
Native perception fixtures
Histogram, FAST, FAST+BRIEF and Tracker provide standalone Runtime fixtures under
EV74/<operation>/tests/e2e/. Build them against installed public packages in
the matching AArch64 environment; an explicit platform composition must expose
the requested native capabilities. Default invocation includes correctness and
latency. Keep device execution serialized and inspect binary architecture with
the normal launcher before running.
The new native implementations have host metadata/source-model coverage and private compiler checks. Matching-device correctness and fresh latency qualification remain required. The operation catalogue links the numerical contracts; host tests do not substitute for native multi-output/workspace acceptance.
For readable IDs, selected firmware unions and post-link ownership reports, see firmware composition.