Skip to content

Revert commit 0b50bbae7324f4f717bdbb3d5e6f18fabedb2047 due to leading to some test failures #1705

Revert commit 0b50bbae7324f4f717bdbb3d5e6f18fabedb2047 due to leading to some test failures

Revert commit 0b50bbae7324f4f717bdbb3d5e6f18fabedb2047 due to leading to some test failures #1705

name: Build and Test with AIE tools on Ryzen AI
on:
push:
branches:
- main
pull_request:
workflow_dispatch:
defaults:
run:
shell: bash
concurrency:
# A PR number if a pull request and otherwise the commit hash. This cancels
# queued and in-progress runs for the same PR (presubmit) or commit
# (postsubmit).
group: ci-build-test-ryzenai-${{ github.event.number || github.sha }}
cancel-in-progress: true
env:
DEBIAN_FRONTEND: noninteractive
XILINXD_LICENSE_FILE: /opt/xilinx/Xilinx.lic
VITIS: /opt/ryzen_ai-1.3.0.1/vitis_aie_essentials
jobs:
build-repo:
name: Build and Test with AIE tools on Ryzen AI
runs-on: ${{ matrix.runner_type }}
strategy:
fail-fast: false
matrix:
runner_type: [ amd8845hs, amdhx370 ]
steps:
- uses: actions/checkout@v3
with:
submodules: "true"
- name: Setup environment
run: |
python3.12 -m venv air-venv
source air-venv/bin/activate
pip cache purge
pip install --upgrade pip
pip install lit cmake joblib
- name: Get mlir-aie
id: clone-mlir-aie
run: |
utils/clone-mlir-aie.sh
source air-venv/bin/activate
pushd mlir-aie
pip install -r python/requirements.txt
pip install -r python/requirements_ml.txt
HOST_MLIR_PYTHON_PACKAGE_PREFIX=aie pip install -r python/requirements_extras.txt
VERSION=$(utils/clone-llvm.sh --get-wheel-version)
pip -q download mlir==$VERSION \
-f https://github.com/Xilinx/mlir-aie/releases/expanded_assets/mlir-distro
unzip -q mlir-*.whl
find mlir -exec touch -a -m -t 201108231405.14 {} \;
popd
- name: Build and Install mlir-aie
run: |
source air-venv/bin/activate
pushd mlir-aie
mkdir build
pushd build
export PATH=$VITIS/bin:$VITIS/aietools/bin:$PATH
cmake .. \
-GNinja \
-DPython3_EXECUTABLE=$(which python) \
-DCMAKE_INSTALL_PREFIX=$PWD/../install \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_ASM_COMPILER=clang \
-DCMAKE_EXE_LINKER_FLAGS_INIT="-fuse-ld=lld" \
-DCMAKE_MODULE_LINKER_FLAGS_INIT="-fuse-ld=lld" \
-DCMAKE_SHARED_LINKER_FLAGS_INIT="-fuse-ld=lld" \
-DCMAKE_MODULE_PATH=$PWD/../cmake/modulesXilinx \
-DLLVM_EXTERNAL_LIT=$(which lit) \
-DMLIR_DIR=$PWD/../mlir/lib/cmake/mlir \
-DXRT_ROOT=/opt/xilinx/xrt \
-DAIE_ENABLE_PYTHON_PASSES=OFF \
-DAIE_ENABLE_XRT_PYTHON_BINDINGS=ON \
-DAIE_VITIS_COMPONENTS='AIE2;AIE2P' \
-DAIE_INCLUDE_INTEGRATION_TESTS=OFF
ninja install
popd
rm -rf build
popd
- name: Get llvm-aie
run: |
source air-venv/bin/activate
python3 -m pip install llvm-aie -f https://github.com/Xilinx/llvm-aie/releases/expanded_assets/nightly
- name: Get Xilinx cmakeModules
run: |
git clone https://github.com/Xilinx/cmakeModules.git
# Build the repo test target in debug mode to build and test.
- name: Build and test mlir-air (Assert)
run: |
source air-venv/bin/activate
export PATH=$VITIS/bin:$VITIS/aietools/bin:$PATH
source /opt/xilinx/xrt/setup.sh
WHL_MLIR_DIR=$(pwd)/mlir-aie/mlir
MLIR_AIE_INSTALL_DIR=$(pwd)/mlir-aie/install
PEANO_INSTALL_DIR=$(python3 -m pip show llvm-aie | grep ^Location: | awk '{print $2}')/llvm-aie
CMAKEMODULES_DIR=$(pwd)/cmakeModules
mkdir build_assert
pushd build_assert
sudo prlimit -lunlimited --pid $$
cmake .. \
-GNinja \
-DCMAKE_BUILD_TYPE=Debug \
-DLLVM_ENABLE_ASSERTIONS=ON \
-DPython3_EXECUTABLE=$(which python) \
-DCMAKE_INSTALL_PREFIX=$PWD/../install \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_C_COMPILER=clang \
-DCMAKE_CXX_COMPILER=clang++ \
-DCMAKE_ASM_COMPILER=clang \
-DCMAKE_EXE_LINKER_FLAGS_INIT="-fuse-ld=lld" \
-DCMAKE_MODULE_LINKER_FLAGS_INIT="-fuse-ld=lld" \
-DCMAKE_SHARED_LINKER_FLAGS_INIT="-fuse-ld=lld" \
-DCMAKE_MODULE_PATH=${CMAKEMODULES_DIR}/ \
-DLLVM_EXTERNAL_LIT=$(which lit) \
-DLLVM_DIR=${WHL_MLIR_DIR}/lib/cmake/llvm \
-DMLIR_DIR=${WHL_MLIR_DIR}/lib/cmake/mlir \
-DAIE_DIR=${MLIR_AIE_INSTALL_DIR}/lib/cmake/aie \
-Dx86_64_TOOLCHAIN_FILE=$PWD/../cmake/modules/toolchain_x86_64.cmake \
-DLibXAIE_ROOT=${MLIR_AIE_INSTALL_DIR}/runtime_lib/x86_64/xaiengine/ \
-DAIR_RUNTIME_TARGETS:STRING="x86_64" \
-DXRT_ROOT=/opt/xilinx/xrt \
-DENABLE_RUN_XRT_TESTS=ON \
-DPEANO_INSTALL_DIR=${PEANO_INSTALL_DIR}
ninja install
export LIT_OPTS="-sv --time-tests --show-unsupported --show-excluded --order random"
ninja check-air-cpp
ninja check-air-mlir
ninja check-air-python
# E2E test set 1: peano tests
export LIT_OPTS="${LIT_OPS} --timeout 600 -j4"
ninja check-air-e2e-peano
# E2E test set 2: chess tests
export LIT_OPTS="${LIT_OPS} --timeout 600 -j4"
ninja check-air-e2e-chess
# Programming examples set 1: peano tests
ninja check-programming-examples-peano
# Programming examples set 2: chess tests
ninja check-programming-examples-chess
# AIR-Runner test set
ninja check-air-runner
popd
rm -rf build_assert