Bump mlir-air to dfa6d08, drop mlir-aie-hash.txt#63
Merged
erwei-xilinx merged 2 commits intoMay 8, 2026
Conversation
The new mlir-air wheel exposes a [aie] extra that pins the matching mlir_aie commit (Requires-Dist: mlir_aie==<pinned>; extra == "aie") and requires llvm-aie. Installing mlir-air[aie]==<ver> now resolves the whole MLIR-AIE/AIR/LLVM-AIE stack with a guaranteed-compatible mlir-aie, so we no longer need to maintain a separate mlir-aie-hash.txt that has to be kept in sync by hand. - utils/mlir-air-hash.txt: bump to dfa6d08 / 2026050805 (latest) - utils/mlir-aie-hash.txt: deleted (resolved transitively via air's [aie] extra) - utils/env_setup.sh, utils/env_setup.ps1: collapse two installs into one mlir_air[aie]==<ver> install. The .ps1 also previously read mlir-aie-hash-windows.txt / llvm-aie-hash-windows.txt / mlir-air-hash-windows.txt, none of which exist in utils/. - setup.py: get_install_requires() now returns ['mlir-air[aie]==<ver>']. - .github/workflows/build.yml: single install step using the extra. - README.md / CLAUDE.md: documentation updated. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates Triton-XDNA’s MLIR dependency management by bumping the pinned mlir-air wheel version and switching to mlir_air[aie] so that mlir-aie and llvm-aie are resolved transitively, eliminating the need to maintain a separate mlir-aie hash file.
Changes:
- Bump
utils/mlir-air-hash.txtto commitdfa6d08/ timestamp2026050805. - Delete
utils/mlir-aie-hash.txtand collapse installs to a singlepip install "mlir_air[aie]==..."flow. - Update setup scripts and CI to use the
[aie]extra and adjust documentation accordingly.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| utils/mlir-air-hash.txt | Updates pinned mlir-air commit/timestamp used for installs. |
| utils/mlir-aie-hash.txt | Removes now-unneeded separate mlir-aie pin file. |
| utils/env_setup.sh | Switches to single-shot install via mlir_air[aie] and derives MLIR_AIE_INSTALL_DIR from the installed wheel. |
| utils/env_setup.ps1 | Same as bash setup: single-shot [aie] install and working hash file reference. |
| setup.py | Updates install_requires to depend on mlir-air[aie] only. |
| README.md | Documents new pinning approach and transitive resolution behavior. |
| .github/workflows/build.yml | Updates CI install step to use mlir_air[aie] instead of separate installs. |
Comments suppressed due to low confidence (1)
.github/workflows/build.yml:68
- In this step you compute
MLIR_AIE_INSTALL_DIR_STRand writeMLIR_AIE_INSTALL_DIR=...to$GITHUB_ENV, but the subsequent path exports use${MLIR_AIE_INSTALL_DIR}(not set in the current shell), which will expand to empty and add incorrect/bin,PYTHONPATH, andLD_LIBRARY_PATHentries. AssignMLIR_AIE_INSTALL_DIR="$MLIR_AIE_INSTALL_DIR_STR"before using it (or consistently use*_STRfor the path writes).
# Set environmental variable "MLIR_AIE_INSTALL_DIR"
MLIR_AIE_INSTALL_DIR_STR="$(python3 -m pip show mlir_aie | grep ^Location: | awk '{print $2}')/mlir_aie"
echo "MLIR_AIE_INSTALL_DIR=$MLIR_AIE_INSTALL_DIR_STR" >> $GITHUB_ENV
# Update paths in environmental variables
echo "${MLIR_AIE_INSTALL_DIR}/bin" >> $GITHUB_PATH
echo "PYTHONPATH=${MLIR_AIE_INSTALL_DIR}/python:$PYTHONPATH" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=${MLIR_AIE_INSTALL_DIR}/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Collaborator
Author
|
Addressed Copilot review comments in dc69e79:
|
- env_setup.sh / env_setup.ps1 / build.yml: the mlir-air [aie] extra requires
llvm-aie without a version pin, so an existing installation will silently
satisfy the requirement and pip won't bump it to the nightly wheel. Add an
explicit `pip install --upgrade llvm-aie` step (matching the prior script
behavior) so llvm-aie always tracks nightly.
- env_setup.sh: quote ${SCRIPT_PATH} inside dirname and the PATH/PYTHONPATH/
LD_LIBRARY_PATH exports so paths with spaces don't word-split.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
utils/mlir-air-hash.txttodfa6d08/2026050805(latest mlir-air no-rtti wheel).utils/mlir-aie-hash.txt. The new mlir-air wheel exposes a[aie]extra that pins the matchingmlir_aiecommit and requiresllvm-aie, so we no longer need to maintain a separate aie hash file by hand.pip install mlir_aie==... && pip install mlir_air==...flow inenv_setup.sh,env_setup.ps1,setup.py'sget_install_requires, and.github/workflows/build.ymlinto a singlepip install "mlir_air[aie]==<ver>".The new air wheel's METADATA contains:
So
mlir-air[aie]==0.0.1.2026050805+dfa6d08.no.rttiresolves the whole MLIR-AIE/AIR/LLVM-AIE stack with a guaranteed-compatible mlir-aie. The mlir-aie commit can never drift out of sync with mlir-air anymore.The
.ps1script also previously referencedmlir-aie-hash-windows.txt,llvm-aie-hash-windows.txt, andmlir-air-hash-windows.txt-- none of which exist inutils/. The new single-install path uses the existingmlir-air-hash.txtso it actually works.Test plan
pip install "mlir_air[aie]==0.0.1.2026050805+dfa6d08.no.rtti"in a fresh venv resolved mlir-airdfa6d08, the air-pinned mlir-aie52dd9bc, and llvm-aie21.0.0.2026050801+783f8625in one shot.setup.py:get_install_requires()returns['mlir-air[aie]==0.0.1.2026050805+dfa6d08.no.rtti'].build.yml) passes on the bumped versions.small.yml) pass.🤖 Generated with Claude Code