Skip to content

[WIP] Enable build mlir-aie and run tests without Vitis#2288

Draft
jgmelber wants to merge 55 commits intomainfrom
peano-build
Draft

[WIP] Enable build mlir-aie and run tests without Vitis#2288
jgmelber wants to merge 55 commits intomainfrom
peano-build

Conversation

@jgmelber
Copy link
Copy Markdown
Collaborator

@jgmelber jgmelber commented May 7, 2025

Discover "supported" components in Peano.
Add workflow to build and run Tests and Examples without xchesscc.

TODOs:

  • compile aie_runtime_libs with Peano
  • Bump cmake/modulesXilinx submodule after merging FindPeano.cmake addition
  • remove Python steps for finding Peano components
  • npu-xrt tests -> Disabled now in 6d4d691
  • workflow without Vitis 15c1d0b
  • precompile intrinsic wrappers with Peano copy runtime libs for each AIE architecture 5101d26

@jgmelber
Copy link
Copy Markdown
Collaborator Author

jgmelber commented May 8, 2025

workflow without Vitis 15c1d0b

@fifield thoughts on this? Add a Peano workflow? Remove chess?

jgmelber and others added 4 commits February 25, 2026 09:25
Add support for building mlir-aie using only the Peano (llvm-aie) compiler
instead of requiring Vitis AIE Essentials. This enables fully open-source
builds for Ryzen AI NPU development.

Key changes:
- Add AIE_PEANO_ONLY_BUILD CMake option that forces PEANO compiler/linker
- Make chess_intrinsic_wrapper.ll generation conditional on xchesscc
  (Peano provides native intrinsic implementations through its headers)
- Enable AIE2/AIE2P runtime lib builds when Peano components are found
- Add peanoWheels.yml GitHub workflow for Peano-only wheel builds
- Update LIT test infrastructure to support Peano component detection
- Add Peano-only build documentation to docs/Building.md

Note: Only AIE2 and AIE2P targets are supported in Peano-only builds.
The original Versal AIE architecture requires Vitis.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use the nightly release URL for llvm-aie instead of trying to match
the MLIR version, which doesn't exist for Peano releases.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Use pip install instead of pip download + unzip to get the correct
directory structure for llvm-aie. The wheel's internal layout doesn't
match what FindPeano.cmake expects when simply unzipped.

Use the same approach as buildAndTestRyzenAI.yml: install with pip
and discover the path via pip show llvm-aie.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Ubuntu-latest is now Ubuntu 24.04 with glibc 2.39, which is incompatible
with manylinux_2_35. Use manylinux_2_39_x86_64 to match the build environment.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown
Contributor

Coverage Report

Created: 2026-02-25 17:56

Click here for information about interpreting this report.

FilenameFunction CoverageLine CoverageRegion CoverageBranch Coverage
Totals- - - -
Generated by llvm-cov -- llvm version 18.1.3

Tests that call aiecc.py without --no-xchesscc rely on the default
compiler which may be xchesscc when the build was configured with
Vitis. These tests should require the "chess" feature so they get
skipped in environments where aietools/xchesscc is not available.

This fixes the "No Chess" CI test failures where tests were trying
to use xchesscc but aietools was not installed.

Tests modified:
- test/unit_tests/aie2: 6 tests
- test/npu-xrt: 31 tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant