Skip to content

Type extraction via Dimeta library #329

Type extraction via Dimeta library

Type extraction via Dimeta library #329

Workflow file for this run

name: TypeART-CI-ext
on:
push:
branches: [ master, devel ]
pull_request:
env:
CXX: clang++
CC: clang
jobs:
run-testbench:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
llvm-version: [ 14 ]
preset:
- name: release-counter
- name: release-safeptr-counter
- name: release-unsafe-counter
steps:
- uses: actions/checkout@v4
- name: Checkout test-bench
uses: actions/checkout@v4
with:
repository: tudasc/typeart-bench
ssh-key: ${{ secrets.AUTH_SSH_CI_EXT }}
path: test-bench
- name: Update apt
run: sudo apt-get update
- name: Install LLVM
run: sudo apt-get install libllvm${{ matrix.llvm-version }} llvm-${{ matrix.llvm-version }} llvm-${{ matrix.llvm-version }}-dev
- name: Install Clang
run: sudo apt-get install clang-${{ matrix.llvm-version }} clang-tidy-${{ matrix.llvm-version }}
- name: Install OpenMPI
run: sudo apt-get install libopenmpi-dev openmpi-bin
- name: Setup env
run: |
sudo ln -f -s /usr/bin/clang-${{ matrix.llvm-version }} /usr/bin/clang
sudo ln -f -s /usr/bin/clang++-${{ matrix.llvm-version }} /usr/bin/clang++
echo "LLVM_CMAKE_DIR=/usr/lib/llvm-${{ matrix.llvm-version }}/cmake" >> $GITHUB_ENV
echo "EXTERNAL_LIT=/usr/lib/llvm-${{ matrix.llvm-version }}/build/utils/lit/lit.py" >> $GITHUB_ENV
- name: Configure TypeART
run: cmake -B build --preset ${{ matrix.preset.name }} -DLLVM_DIR=${LLVM_CMAKE_DIR} -DLLVM_EXTERNAL_LIT=${EXTERNAL_LIT}
- name: Build & install TypeART
run: |
cmake --build build --parallel 2 --target install
echo "TYPEART_PATH=${GITHUB_WORKSPACE}/install/typeart" >> $GITHUB_ENV
- name: Setup tests
working-directory: test-bench
run: cmake -B build -DLOG_PATH=${GITHUB_WORKSPACE}/test-bench/artifact-${{ matrix.llvm-version }} -DUSE_WRAPPER=ON
- name: Run lulesh
working-directory: test-bench/build
run: ctest -V -R lulesh -O lulesh2.0_${{ matrix.llvm-version }}_build.log
- name: Run 104.milc
working-directory: test-bench/build
run: ctest -V -R 104.milc -O 104.milc_${{ matrix.llvm-version }}_build.log
- name: Run 122.tachyon
working-directory: test-bench/build
run: ctest -V -R 122.tachyon -O 122.tachyon_${{ matrix.llvm-version }}_build.log
- name: Run amg2013
working-directory: test-bench/build
run: ctest -V -R amg2013 -O amg2013_${{ matrix.llvm-version }}_build.log
- name: Prepare artifact
run: |
mkdir -p artifact/bench
mv test-bench/build/*_build.log artifact/bench
mv test-bench/artifact-${{ matrix.llvm-version }} artifact/bench
- name: Upload test-bench artifact
uses: actions/upload-artifact@v4
with:
name: typeart-ci-ext
path: artifact
run-AD-testbench:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
llvm-version: [ 14 ]
preset:
- name: release-counter
- name: release-unsafe-counter
steps:
- uses: actions/checkout@v4
- name: Checkout AD test-bench
uses: actions/checkout@v4
with:
repository: ahueck/typeart-ad-benchmarks
ssh-key: ${{ secrets.AUTH_SSH_CI_EXT_AD }}
ref: feat/ci
path: ad-test-bench
- name: Update apt
run: sudo apt-get update
- name: Install LLVM
run: sudo apt-get install libllvm${{ matrix.llvm-version }} llvm-${{ matrix.llvm-version }} llvm-${{ matrix.llvm-version }}-dev
- name: Install Clang
run: sudo apt-get install clang-${{ matrix.llvm-version }} clang-tidy-${{ matrix.llvm-version }}
- name: Install OpenMPI
run: sudo apt-get install libopenmpi-dev openmpi-bin
- name: Setup env
run: |
sudo ln -f -s /usr/bin/clang-${{ matrix.llvm-version }} /usr/bin/clang
sudo ln -f -s /usr/bin/clang++-${{ matrix.llvm-version }} /usr/bin/clang++
echo "LLVM_CMAKE_DIR=/usr/lib/llvm-${{ matrix.llvm-version }}/cmake" >> $GITHUB_ENV
echo "EXTERNAL_LIT=/usr/lib/llvm-${{ matrix.llvm-version }}/build/utils/lit/lit.py" >> $GITHUB_ENV
- name: Configure TypeART
run: cmake -B build --preset ${{ matrix.preset.name }} -DLLVM_DIR=${LLVM_CMAKE_DIR} -DLLVM_EXTERNAL_LIT=${EXTERNAL_LIT}
- name: Build & install TypeART
run: |
cmake --build build --parallel 2 --target install
echo "TYPEART_PATH=${GITHUB_WORKSPACE}/install/typeart" >> $GITHUB_ENV
- name: Setup AD tests
working-directory: ad-test-bench
run: cmake -B build -DLOG_PATH=${GITHUB_WORKSPACE}/ad-test-bench/artifact-${{ matrix.llvm-version }} -DUSE_WRAPPER=ON
- name: Run AD lulesh
working-directory: ad-test-bench/build
run: ctest -V -R lulesh -O ad-lulesh2.0_${{ matrix.llvm-version }}_build.log
- name: Prepare artifact
run: |
mkdir -p artifact/ad-bench
mv ad-test-bench/build/*_build.log artifact/ad-bench
mv ad-test-bench/artifact-${{ matrix.llvm-version }} artifact/ad-bench
- name: Upload AD test-bench artifact
uses: actions/upload-artifact@v4
with:
name: typeart-ci-ext-ad
path: artifact
run-OMP-testbench:
runs-on: ubuntu-22.04
env:
OMP_NUM_THREAD: 2
strategy:
fail-fast: false
matrix:
llvm-version: [ 14 ]
preset:
- name: release-counter
- name: release-safeptr-counter
steps:
- uses: actions/checkout@v4
- name: Checkout OMP test-bench
uses: actions/checkout@v4
with:
repository: tudasc/typeart-bench
ssh-key: ${{ secrets.AUTH_SSH_CI_EXT }}
ref: ci/omp
path: omp-test-bench
- name: Update apt
run: sudo apt-get update
- name: Install LLVM
run: sudo apt-get install libllvm${{ matrix.llvm-version }} llvm-${{ matrix.llvm-version }} llvm-${{ matrix.llvm-version }}-dev
- name: Install Clang
run: sudo apt-get install clang-${{ matrix.llvm-version }} clang-tidy-${{ matrix.llvm-version }}
- name: Install OpenMPI
run: sudo apt-get install libopenmpi-dev openmpi-bin
- name: Install LLVM OpenMP runtime
run: sudo apt-get install libomp-${{ matrix.llvm-version }}-dev libomp5-${{ matrix.llvm-version }}
- name: Setup env
run: |
sudo ln -f -s /usr/bin/clang-${{ matrix.llvm-version }} /usr/bin/clang
sudo ln -f -s /usr/bin/clang++-${{ matrix.llvm-version }} /usr/bin/clang++
echo "LLVM_CMAKE_DIR=/usr/lib/llvm-${{ matrix.llvm-version }}/cmake" >> $GITHUB_ENV
echo "EXTERNAL_LIT=/usr/lib/llvm-${{ matrix.llvm-version }}/build/utils/lit/lit.py" >> $GITHUB_ENV
- name: Configure TypeART
run: cmake -B build --preset ${{ matrix.preset.name }} -DLLVM_DIR=${LLVM_CMAKE_DIR} -DLLVM_EXTERNAL_LIT=${EXTERNAL_LIT}
- name: Build & install TypeART
run: |
cmake --build build --parallel 2 --target install
echo "TYPEART_PATH=${GITHUB_WORKSPACE}/install/typeart" >> $GITHUB_ENV
- name: Setup tests
working-directory: omp-test-bench
run: cmake -B build -DLOG_PATH=${GITHUB_WORKSPACE}/omp-test-bench/artifact-${{ matrix.llvm-version }} -DUSE_WRAPPER=ON
- name: Run lulesh
working-directory: omp-test-bench/build
run: ctest -V -R lulesh -O lulesh2.0_${{ matrix.llvm-version }}_build.log
- name: Run amg2013
working-directory: omp-test-bench/build
run: ctest -V -R amg2013 -O amg2013_${{ matrix.llvm-version }}_build.log
- name: Prepare artifact
run: |
mkdir -p artifact/bench
mv omp-test-bench/build/*_build.log artifact/bench
mv omp-test-bench/artifact-${{ matrix.llvm-version }} artifact/bench
- name: Upload omp-test-bench artifact
uses: actions/upload-artifact@v4
with:
name: typeart-ci-ext-omp
path: artifact