aie4ml is an end-to-end compiler that generates optimized AIE firmware automatically, which can be then built and simulated directly using AMD Vitis. It targets the AMD AI Engine (AIE) from model-level frontends and lowers supported operators into AIE graphs and kernels as a standalone AIE project.
- Current hardware targets: AIE-ML and AIE-MLv2 devices.
- Current frontend paths: ONNX for explicit operator graphs, and an optional
hls4mlfrontend path.
Current Support
aie4ml currently supports Dense/GEMM, dynamic MatMul, Elementwise Add, quantized LayerNorm, quantized Softmax (accurate and approx.), last-two-axis Permute, Split/Slice, Concat, fanout, and fused ReLU across AIE-ML and AIE-MLv2 devices.
See the operator support matrix for coverage, tensor and transport contracts, and current limitations.
Prerequisites
- AMD Vitis 2025.2 and a valid AIE tools license.
- Python 3.10+.
- Optional:
hls4mlif using the hls4ml frontend integration.
Frontend Compatibility
The ONNX path is the recommended route for operator-level compiler development and for models that already express quantized tensors and Q/DQ boundaries explicitly. The hls4ml path is intended for MLP-style pipelines at the moment.
Installation
pip install aie4ml
For the ONNX frontend (recommended path), also install ONNX and onnxruntime:
pip install onnx
Install hls4ml only if you need the hls4ml frontend/backend integration:
pip install hls4ml
Documentation & Tutorials
Documentation and usage: https://github.com/dimdano/aie4ml
Tutorial 1: tutorials/tutorial_1.ipynb
Tutorial 2: tutorials/tutorial_2.ipynb
General hls4ml concepts: https://fastmachinelearning.org/hls4ml
Maintainer
aie4ml is developed and maintained by Dimitrios Danopoulos.
Citation
If aie4ml contributes to your research, please cite the corresponding publications:
@INPROCEEDINGS{11552717,
author={Danopoulos, Dimitrios and Lupi, Enrico and Sun, Chang and Dittmeier, Sebastian and Kagan, Michael and Loncar, Vladimir and Pierini, Maurizio},
booktitle={2026 IEEE 34th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM)},
title={AIE4ML: An End-to-End Framework for Compiling Neural Networks for the Next Generation of AMD AI Engines},
year={2026},
volume={},
number={},
pages={176-184},
keywords={Tiles;Modeling;Arrays;Kernel;Memory;Information rates;Throughput;System-on-chip;Loading;Engines;ai engines;hls4ml;aie4ml;versal;acceleration;inference},
doi={10.1109/FCCM68464.2026.00035}}
@misc{danopoulos2026tamingexponentialfastsoftmax,
title={Taming the Exponential: A Fast Softmax Surrogate for Integer-Native Edge Inference},
author={Dimitrios Danopoulos and Enrico Lupi and Michael Kagan and Maurizio Pierini},
year={2026},
eprint={2604.02292},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2604.02292},
}
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aie4ml-0.1.7.tar.gz.
File metadata
- Download URL: aie4ml-0.1.7.tar.gz
- Upload date:
- Size: 563.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
291f6caf1f8e05cbd11923bbfe51aebdf69fbfd2443ded1c9fb498868747a7fe
|
|
| MD5 |
6cb44281bade753aa5b5fee991110e88
|
|
| BLAKE2b-256 |
04ac25eeeb40e4eb2e45ea03985b17a871720c5b4e4cbc6a4bd36fddee32fcb1
|
File details
Details for the file aie4ml-0.1.7-py3-none-any.whl.
File metadata
- Download URL: aie4ml-0.1.7-py3-none-any.whl
- Upload date:
- Size: 230.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f712c8fd8f428704bf7ee166ce56b33935dcf55cec0c2381705af406f0ec5227
|
|
| MD5 |
f3aaebb845e4d4b87ac497f9091fef7a
|
|
| BLAKE2b-256 |
b250fccdc17266159ecd35f925fbd56f052d573048cb1d8b126c05d367d7b3b4
|