Type extraction via Dimeta library #329
This file contains 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
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 |