Skip to main content

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-technology target plugin.
  • The nx-performance-estimator model-analysis backend.
  • The neural-technology-profiling-data measured-analysis backend.
  • The internal ml-sdk-model-converter conversion integration.
  • The internal tosa-flatbuffers serialization integration.
  • Bundled Neural Technology target profiles and backend configuration assets.

Start here: Arm Learning Path

Estimate neural accelerator (NX) performance with ML Inference Advisor is a hands-on guide to installing the plugin, analyzing quantized MobileNet models, checking operator compatibility, and interpreting performance estimates.

Table of Contents

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-litert for LiteRT / TensorFlow Lite .tflite inputs.
  • mlia-converters-pytorch for .pt2 and .pte inputs.

Supported targets

Bundled target profiles include:

  • neural-technology
  • NX-peak-12SC-8NX-600MHz
  • NX-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.

Measured ETRecord and ETDump profiling

Pair an ExecuTorch ETRecord (.etrecord or .bin) with one matching ETDump (.etdump or .etdp) to analyze recorded performance. Runtime timings are reported in milliseconds. VGF profiling adds NX cycle and hardware-counter measurements for segments, cascades, chains and stripes.

From this repository checkout, enable ExecuTorch support and run analysis:

uv sync --extra executorch
uv run --extra executorch mlia check model.etrecord \
  --target-profile neural-technology \
  --performance \
  --profiling-data run.etdump \
  --output-dir mlia-etrecord-result

--profiling-data selects the measured backend automatically. The output directory contains mlia-output.json with the analysis results. For a multi-method ETRecord, also supply --neural-technology-profiling-data.etrecord-method decode, replacing decode with the captured method.

To generate and open a standalone visualization, make Model Explorer available for the command:

uv run --extra executorch --with "mlia-model-explorer[executorch]" \
  mlia check model.etrecord \
  --target-profile neural-technology \
  --performance \
  --profiling-data run.etdump \
  --output-dir mlia-etrecord-result \
  --model-explorer open

Use --model-explorer files to generate the visualization without opening it. Optionally add --companion-model model.pte for a matching PTE's VGF graph. Companion operator associations use VGF profiling data. Structural matching assumes you supplied the matching PTE; it does not verify that the PTE produced the capture. The result records the analyzed PTE's SHA-256 digest. Before generating its companion visualization, Model Explorer compares the file's current digest with the recorded digest and rejects a mismatch. Analysis does not monitor later file changes.

Shared runtime timings are non-additive, and cycle totals describe captured observations rather than proving a complete inference was recorded. See ETRecord and ETDump profiling for required artifacts, measurement interpretation, supported decoder layouts and incomplete-capture limitations.

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:

uv 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.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for mlia-neural-technology 0.3.0
File Interpreter ABI Platform Actions
mlia_neural_technology-0.3.0-cp312-cp312-manylinux_2_39_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.39+ x86-64 Details for mlia_neural_technology-0.3.0-cp312-cp312-manylinux_2_39_x86_64.whl

Release files / mlia_neural_technology-0.3.0-cp312-cp312-manylinux_2_39_x86_64.whl

Download URL mlia_neural_technology-0.3.0-cp312-cp312-manylinux_2_39_x86_64.whl
Size 20.4 MB
Tags CPython 3.12 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
754569af107ceea19e8507cb9c706205e3120be4abf154f67940b01bb3808893
BLAKE2b-256 checksum
How to use checksums
f87b889690ebd8e4fd3c15e2347d8bbef790441a908711db84cfc235c6c02aef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.5

Security for mlia-neural-technology 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page