Skip to main content

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​

CheckWhat it establishesWhat it does not establish
License-independent host checksCohort-verifier behavior, native tensor contracts and typed codec/mock dispatchSuccessful MetaWare compilation or numerical device execution
Private device buildSelected sources compile/link against the selected runtime and headersCorrect values, safe transfer boundaries or target latency
Device qualificationNumerical/layout correctness, DMA tails, lifecycle and measured performance on matching hardware/artifactsCompatibility 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.