Some checks failed
Validate Operations / validate-operations (push) Failing after 2h8m44s
106 lines
3.7 KiB
YAML
106 lines
3.7 KiB
YAML
name: Validate Operations
|
|
|
|
env:
|
|
LLVM_COMMIT: 0c2701fe7fa002e1befc5f86c268a7964f96d286
|
|
PROTOBUF_REF: v34.0
|
|
CMAKE_VERSION: 4.3.0
|
|
MOLD_LINKER_FLAGS: -fuse-ld=mold
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
validate-operations:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
run: |
|
|
git clone --depth 1 --recurse-submodules --branch ${GITHUB_REF_NAME} \
|
|
https://chef.heaplab.deib.polimi.it/git/${GITHUB_REPOSITORY}.git \
|
|
${GITHUB_WORKSPACE}
|
|
|
|
- name: Install system dependencies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install -y cmake ninja-build build-essential mold curl ca-certificates
|
|
|
|
- name: Install CMake
|
|
run: |
|
|
ARCH="$(uname -m)"
|
|
case "$ARCH" in
|
|
x86_64) CMAKE_ARCH="linux-x86_64" ;;
|
|
aarch64|arm64) CMAKE_ARCH="linux-aarch64" ;;
|
|
*) echo "Unsupported architecture: $ARCH"; exit 1 ;;
|
|
esac
|
|
|
|
curl -fsSL -o /tmp/cmake.sh \
|
|
"https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-${CMAKE_ARCH}.sh"
|
|
sudo sh /tmp/cmake.sh --skip-license --prefix=/usr/local
|
|
rm -f /tmp/cmake.sh
|
|
|
|
cmake --version
|
|
which cmake
|
|
|
|
- name: Prepare MLIR Cache
|
|
uses: ./.github/actions/prepare-mlir-cache
|
|
with:
|
|
llvm-commit: ${{ env.LLVM_COMMIT }}
|
|
mold-linker-flags: ${{ env.MOLD_LINKER_FLAGS }}
|
|
|
|
- name: Prepare Protobuf Cache
|
|
uses: ./.github/actions/prepare-protobuf-cache
|
|
with:
|
|
protobuf-ref: ${{ env.PROTOBUF_REF }}
|
|
mold-linker-flags: ${{ env.MOLD_LINKER_FLAGS }}
|
|
|
|
- name: Register installed libraries
|
|
run: sudo ldconfig
|
|
|
|
- name: Install Rust toolchain
|
|
uses: dtolnay/rust-toolchain@stable
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.12"
|
|
|
|
- name: Install Python dependencies
|
|
run: pip install numpy onnx colorama
|
|
|
|
- name: Restore Raptor Build Cache
|
|
id: restore-raptor-build-cache
|
|
uses: ./.github/actions/restore-raptor-build-cache
|
|
with:
|
|
key: raptor-build-${{ runner.os }}-${{ github.ref_name }}-${{ env.LLVM_COMMIT }}-${{ env.PROTOBUF_REF }}-${{ env.CMAKE_VERSION }}-${{ github.sha }}
|
|
restore-keys: |
|
|
raptor-build-${{ runner.os }}-${{ github.ref_name }}-${{ env.LLVM_COMMIT }}-${{ env.PROTOBUF_REF }}-${{ env.CMAKE_VERSION }}-
|
|
raptor-build-${{ runner.os }}-${{ env.LLVM_COMMIT }}-${{ env.PROTOBUF_REF }}-${{ env.CMAKE_VERSION }}-
|
|
|
|
- name: Build Raptor
|
|
id: build-raptor
|
|
run: |
|
|
MLIR_DIR=$(pwd)/onnx-mlir/llvm-project/build/lib/cmake/mlir
|
|
cmake -S . -B build -G Ninja \
|
|
-DCMAKE_BUILD_TYPE=Debug \
|
|
-DONNX_MLIR_ACCELERATORS=PIM \
|
|
-DLLVM_ENABLE_ASSERTIONS=ON \
|
|
-DMLIR_DIR=${MLIR_DIR} \
|
|
-DCMAKE_EXE_LINKER_FLAGS="${MOLD_LINKER_FLAGS}" \
|
|
-DCMAKE_SHARED_LINKER_FLAGS="${MOLD_LINKER_FLAGS}" \
|
|
-DCMAKE_MODULE_LINKER_FLAGS="${MOLD_LINKER_FLAGS}"
|
|
cmake --build build
|
|
|
|
- name: Save Raptor Build Cache
|
|
if: steps.build-raptor.outcome == 'success' && steps.restore-raptor-build-cache.outputs.cache-hit != 'true'
|
|
uses: ./.github/actions/save-raptor-build-cache
|
|
with:
|
|
key: raptor-build-${{ runner.os }}-${{ github.ref_name }}-${{ env.LLVM_COMMIT }}-${{ env.PROTOBUF_REF }}-${{ env.CMAKE_VERSION }}-${{ github.sha }}
|
|
|
|
- name: Run validation
|
|
run: |
|
|
python validation/validate.py \
|
|
--raptor-path build/Debug/bin/onnx-mlir \
|
|
--onnx-include-dir onnx-mlir/include
|