Releases: Xilinx/mlir-aie
Releases · Xilinx/mlir-aie
Release list
rocm-mlir-distro
MLIR wheels built from ROCm/llvm-project @ 46fcb339. Linux x86_64 only; Windows builds pending ccache fix (PR #3313).
v1.3.4
🧠 TL;DR
- ✅ Faster compiler and routing performance
- ✅ Continued Peano compatibility and testing improvements
- ✅ Cleaner IRON programming model and ObjectFifo defaults
- ✅ Improved JIT reliability and Python packaging
- ✅ Ongoing CI, dependency, and infrastructure modernization
🔍 Highlights
⚡ Compiler Performance & Scalability
- Improved compiler scalability by building per-core compile slices from a stripped base module and adopting a shared thread pool for core compilation → @atassis, @jgmelber
- Accelerated routing with dense integer vertex IDs in the Pathfinder router and reduced AIEX memref deduplication from linear to constant time → @jgmelber, @atassis
- Improved compiler parallelism by automatically selecting the number of compilation threads based on available CPUs → @jgmelber
🧩 IRON & Programming Model
- Moved tile placement validation into the compiler, simplifying the IRON tile API while providing earlier error checking → @hunhoffe
- Fixed unsafe cleanup of cached JIT artifacts in the DMA compression flow → @thomthehound
🔧 Peano & Compiler Compatibility
- Continued Peano enablement with expanded lit test coverage and automated version management → @thomthehound, @hunhoffe
- Improved compatibility with LLVM 23 by automatically downgrading newer floating-point and bfloat16 literal forms for Peano toolchains → @erwei-xilinx
🧹 Codebase Modernization, Build, Packaging, & CI
- Removed legacy/obsolete AIE/AIEX dialect operations, legacy AIEVec-to-C++ backend, legacy test suites, and unused Python files as part of continued codebase cleanup → @hunhoffe @jsetoain, @jgmelber
- Improved CI with automated Peano version pinning, lockfile validation, and license header enforcement → @hunhoffe, @andrej
- Updated CMake, nanobind, notebook, GitHub Actions, and other development dependencies to current supported versions → @dependabot, @jgmelber
v1.3.3
v1.3.3
🧠 TL;DR
- ✅ Enhanced IRON JIT workflow and DMA programming capabilities
- ✅ New simulated annealing AIE placer
- ✅ Faster compiler performance and improved Peano support
- ✅ Better Windows, packaging, and Python developer experience
- ✅ CI, build, and documentation improvements
🔍 Highlights
🧩 IRON & Programming Model
- Added multi-dimensional DMA strides (
Bd.dimensions) and cross-core L1 buffer sharing for more expressive IRON programming → @hunhoffe - Unified the
@iron.jitcompilation workflow across all programming examples and improved JIT caching by binding the target device before compilation → @hunhoffe, @thomthehound
📍 Placement & Compilation
- Added a new simulated annealing-based AIE placer for improved placement exploration → @yenjames
- Reduced compiler compile times by eliminating quadratic symbol lookups during NPU lowering → @atassis
- Improved
aiecclowering for full-ELF compilation and strengthened Peano compatibility and testing → @atassis, @erwei-xilinx, @thomthehound
⚡ Runtime & Platform Support
- Fixed Windows crashes in the Python XRT cached runtime → @thomthehound
🛠️ Developer Experience
- Added Pyright type checking across the Python codebase → @hunhoffe
- Added an
aie-kernel-optskills collection and expanded Linux build documentation for non-Ubuntu and in-treeamdxdnaconfigurations → @hunhoffe, @AndreNijman
🐛 Build, CI & Stability
- Updated GitHub Actions dependencies, self-hosted runner configuration, and LLVM nightly pinning for improved CI stability → @dependabot, @andrej, @atassis, @hunhoffe
🙌 New Contributors
v1.3.2
v1.3.2
🧠 TL;DR
- ✅ New AIE placement infrastructure and unplaced IRON workflows
- ✅ Tracing improvements and declarative trace APIs
- ✅ Expanded ObjectFifo and DMA functionality
- ✅ Improved AIE2/AIEVec lowering and kernel correctness
- ✅ Better NPU2, Windows, and packaging support
- ✅ Broad runtime, routing, and stability fixes
🔍 Highlights
🧩 Placement & IRON
- Introduced new AIE placement pass with flow-, memory-, and route-aware placement → @yenjames, @erwei-xilinx
- Continued migration to unplaced IRON; deprecated sequential placer → @yenjames, @hunhoffe
📡 Tracing & Runtime
- Added declarative trace APIs and improved trace routing/configuration → @yenjames, @FIM43-Redeye @fifield
- Enabled dynamic ObjectFifo lowering, DMA repeat-count support, and expanded ObjectFifo capabilities → @AndraBisca, @yenjames @hunhoffe
⚡ AIE2 & Performance
- Expanded AIEVec/AIE2P lowering support and bf16 optimizations → @erwei-xilinx
- Fixed AIE2 matmul correctness and enabled vectorized matvec kernels → @hunhoffe
🚀 Examples & Platform Support
- Ported MobileNet to IRON and expanded NPU2 support → @hunhoffe, @yenjames
- Added Python ELF and custom DMA examples → @andrej, @yenjames
🐛 Build, Packaging & Stability
- Improved Windows wheel packaging and PyPI readiness → @thomthehound, @hunhoffe
- LLVM/toolchain updates, CI modernization, and supply-chain hardening → @hunhoffe
- Numerous fixes across DMA, routing, ObjectFifos, runtime, and build systems → multiple contributors
🙌 New Contributors
latest-wheels-4
Switch from `latest-wheels-3` to `latest-wheels-4` (#3147)
latest-wheels-no-rtti-2
Bump cmake from 3.27.9 to 4.3.2 in /utils/mlir_wheels (#3080) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
v1.3.1
What's Changed
- Flaky CI Fixes: Add retry policy for downloads and vendor eudsl-python-extras to reduce susceptibility to transient GitHub 502 failures.
- AIE Core To Standard Fixes: Set conv_even rounding mode for bf16 matmul and fix AIE2P control register indices for saturation and rounding.
- Miscellaneous Fixes: Fix xclbin UUIDs, non-deterministic crash in RunOp::verify(), and remove is_placed flag from JIT decorator.
- Peano Optimization Issue Resolved: Workaround flags for Peano -O2 issue removed.
- Pre-push Hook Added: Pre-push hook implemented for the repository.
- Mobilenet v3 Example Added: Design example for Mobilenet v3 included.
Full Changelog: v1.3.0...v1.3.1
v1.3.0
🧠 TL;DR
- ✅ New C++ aiecc compiler replaces Python tooling
- ✅ Major AIE2 vector (aievec) improvements (bf16, FMA, reductions, tanh)
- ✅ More robust runtime + DMA handling
- ✅ Expanded IR features + tracing support
- ✅ Improved CI, packaging, and dev workflows
- ✅ Early Windows support
🔍 Highlights
🛠 Compiler & Toolchain
- Introduced native C++ aiecc with ELF, xchesscc, aiebu/bootgen, and sim/host support → @jgmelber
- Added pip entry point and deprecated aiecc.py → @jgmelber
- LLVM bump tooling + workflow improvements → @hunhoffe, @erwei-xilinx
⚡ Performance & Kernels & AIE Vector (aievec)
- Expanded bf16/f32 support (32-lane ops, 256-bit ops) → @erwei-xilinx
- Added FMA fusion, reductions, tanh lowering, bf16 emulation → @erwei-xilinx
- Performance + correctness fixes (fdiv, crashes, lowering flexibility) → @erwei-xilinx
- Softmax kernel optimizations + testing improvements → @amd-jiajli
🔄 Runtime & Execution
- Added repeat_count to DMA + improved BD handling → @jsetoain
- Fixed memtile DMA/addressing issues → @erwei-xilinx
- Runtime sequence → aiebu asm lowering → @fifield
🧩 IR & Dialects
- Added AIEX cert ops + event trace configuration → @fifield
- New abstractions: TileLike, logical_tile, tile classification → @yenjames
🐛 Fixes & Stability & Platform Support & Build & CI
- Initial Windows bring-up + packaging fixes → @thomthehound
- Fixes across DMA, JIT/compile, routing, CI stability → @hunhoffe, @erwei-xilinx, @jgmelber, @fifield
- Switched to latest-wheels-3, improved CI + fork PR support → @erwei-xilinx, @Copilot
- Formatting hooks + logging improvements → @jgmelber, @hunhoffe
- XRT detection + install docs → @jgmelber
🙌 New Contributors
latest-wheels-3
Remove deprecated colshift from parse in Makefile (#2855)