MLIA Neural Technology Plugin
This package contains the MLIA target plugin for Arm Neural Technology flows and packages the backend integrations used to estimate performance and work with TOSA-related assets in that environment.
The package is distributed as mlia-neural-technology and contributes:
- The
neural-technologytarget plugin. - The
nx-performance-estimatormodel-analysis backend. - The
neural-technology-profiling-datameasured-analysis backend. - The internal
ml-sdk-model-converterconversion integration. - The internal
tosa-flatbuffersserialization integration. - Bundled Neural Technology target profiles and backend configuration assets.
Table of Contents
- Overview
- Supported targets
- Backends in this package
- Installation
- Releases
- Reporting bugs
- Development Setup
- Common Commands
- Project Layout
- Documentation
- License
- Trademarks and copyrights
Overview
mlia-neural-technology extends MLIA with Neural Technology target knowledge,
profile assets, and backend plugins used by NX-oriented performance and model
conversion workflows.
This package is responsible for the target-side integration and backend
wiring for Neural Technology analysis. It is typically installed alongside the
core mlia package and, depending on the workflow, other MLIA converter
plugins.
For upstream model formats, the compatible converter plugins are:
mlia-converters-litertfor LiteRT / TensorFlow Lite.tfliteinputs.mlia-converters-pytorchfor.pt2and.pteinputs.
Supported targets
Bundled target profiles include:
neural-technologyNX-peak-12SC-8NX-600MHzNX-sustained-12SC-8NX-350MHz
These profiles are shipped under src/mlia/resources/target_profiles/.
Backends in this package
NX Performance Estimator
Provides the performance-estimation flow for Neural Technology targets and uses bundled system and graph-compiler configuration assets.
For TOSA compatibility reports, omit constants, shape constants, and reshapes with the optional boolean flag (no value is required):
uv run mlia check -t neural-technology --compatibility \
--nx-performance-estimator.skip-trivial-ops -- model.tosamlir
Without the flag, these operations remain in the report. This controls MLIA's compatibility reporting, not the estimator's compilation or performance analysis.
Measured profiling data
The built-in neural-technology-profiling-data backend analyzes structured
captures from VK_LAYER_LGL_neural_statistics. It is selected automatically
when --profiling-data is supplied and supports performance analysis only.
Conversion support
ml-sdk-model-converter prepares models for downstream Neural Technology tools,
and tosa-flatbuffers supplies low-level TOSA serialization support. Both are
internal, non-selectable dependency integrations rather than analysis backends.
Installation
The wheel requires CPython 3.12 (>=3.12,<3.13). On x86-64 Linux, it requires
Ubuntu 24.04 or newer, or another distribution with glibc 2.39 or newer.
Linux wheels use a manylinux_2_39 platform tag so installers reject older
glibc versions. Builds on newer glibc versions retain that higher minimum.
The bundled native vgfpy extension also requires a matching CPython ABI.
Install into an environment that already contains mlia:
pip install mlia-neural-technology
A typical MLIA workflow then references one of the bundled profiles, for example:
mlia check my_model.tosa --target-profile neural-technology
Measured profiling data can be analyzed without a source model when one dispatch is selected:
mlia check --target-profile neural-technology --performance \
--profiling-data ./capture/pipeline_000000/session_000000/dispatch_000000
Use .tosa as the clearest default model example for this package on its own.
Direct LiteRT / TensorFlow Lite .tflite, .pt2, and .pte flows depend on the
matching converter plugins being installed.
The supported Python range and required core MLIA dependency are maintained in
pyproject.toml, which is the authoritative source for current
installation requirements. This package is intended to be used as part of a
wider MLIA installation rather than as a standalone CLI.
Releases
Latest changes and release history can be found in MLIA Neural Technology releases.
Reporting bugs
Report bugs by creating GitHub issues. Use the
arm/mlia issue tracker by default.
Only open an issue in
arm/mlia-neural-technology
when the bug is clearly and specifically in this plugin.
Development Setup
Create a local environment with the project and all development dependencies:
uv sync --group dev
If you only need the test dependencies:
uv sync --group test
This repository currently does not use a committed lock file (uv.lock).
Common Commands
Run the quick test suite used in CI:
uv run pytest -m "not slow" tests/
Run the full test suite with coverage:
uv sync --group test
uv run pytest tests/
Run the local quality checks:
uv run pre-commit run --all-files
Build the package:
uv build
Project Layout
src/mlia/target/neural_technology/: Neural Technology target integration and advisor logic.src/mlia/backend/nx_performance_estimator/: NX performance estimator backend.src/mlia/backend/neural_technology_profiling_data/: measured capture parsing and analysis.src/mlia/backend/ml_sdk_model_converter/: internal model-conversion support.src/mlia/backend/tosa_flatbuffers/: internal TOSA FlatBuffers support.src/mlia/resources/: bundled target profiles and backend assets.tests/: unit tests covering plugins, CLI integration, and target/backend behaviour.
Documentation
Additional package documentation lives in docs/README.md. The
Python API walkthrough
covers torch.nn.Module inputs and structured Python results.
License
The source code and configuration in this repository are licensed under the
Apache License 2.0 unless a file states otherwise. See
LICENSES/Apache-2.0.txt for the full license text.
All contents of these directories are proprietary and are provided under
END USER LICENSE AGREEMENT FOR ARM ECOSYSTEM SOFTWARE:
src/mlia/_vendor/artifacts/nx-performance-estimator/src/mlia/resources/nx-performance-estimator/
Applicable proprietary license terms
By accessing or using the software, documentation, or any other material made available to you by Arm on this GitHub repository (“Arm Deliverables”), you agree to be bound by the terms of the Arm End User License Agreement or Open-Source License (as applicable) (“License”) included in the component-level license_terms folder for each Arm Deliverable.
Use, modification and distribution of any Arm Deliverable is permitted only to the extent expressly stated in the relevant License. Notwithstanding any wording to the contrary in the relevant License, the Arm Deliverables are provided by Arm solely for use with the relevant Arm SoC product.
For all Arm development tools licensed under the terms of the End User License Agreement for Software Development Tools (“Arm Tools”), your attention is drawn to the terms and conditions applicable to free-of-charge Arm Tools. Your use of any Arm Tools shall be limited as set out therein.
Trademarks and copyrights
- Arm is a registered trademark or trademark of Arm Limited (or its subsidiaries) in the U.S. and/or elsewhere.
- TensorFlow is a trademark of Google LLC.
- PyTorch and ExecuTorch are trademarks of The Linux Foundation.
- Linux is the registered trademark of Linus Torvalds in the U.S. and elsewhere.
- Python is a registered trademark of the PSF.
Metadata
Release files for mlia-neural-technology 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mlia_neural_technology-0.2.1-cp312-cp312-manylinux_2_39_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.39+ x86-64 | Details |
Release files / mlia_neural_technology-0.2.1-cp312-cp312-manylinux_2_39_x86_64.whl
| Download URL | mlia_neural_technology-0.2.1-cp312-cp312-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 20.3 MB |
| Tags | CPython 3.12 Linux glibc 2.39+ x86-64 |
|
SHA-256 checksum How to use checksums |
e141ee3affb896391b815eb3bfe83846d4ea14649bae55621f3a797e6729b296
|
|
BLAKE2b-256 checksum How to use checksums |
d4e02f5e1cd839206b1d00028d881728c34db1f3cefe8b8db00826b37b879e6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.13
|