Skip to content

Merge branch 'LULESH_validation' into parallelization_validation #3528

Merge branch 'LULESH_validation' into parallelization_validation

Merge branch 'LULESH_validation' into parallelization_validation #3528

Workflow file for this run

# This file is part of the DiscoPoP software (http://www.discopop.tu-darmstadt.de)
#
# Copyright (c) 2020, Technische Universitaet Darmstadt, Germany
#
# This software may be modified and distributed under the terms of
# the 3-Clause BSD License. See the LICENSE file in the package base
# directory for details.
name: "DiscoPoP CI"
on: [push, pull_request]
jobs:
discopop_explorer:
name: "Explorer"
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: [ 3.6 ]
steps:
- name: "Checkout Repository"
uses: actions/checkout@v2
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: "Install Dependencies"
run: |
python -m pip install -r discopop_explorer/requirements.txt
python -m pip install -r discopop_validation/requirements.txt
python -m pip install mypy data-science-types black
- name: "Run tests"
run: python -m unittest -v
- name: "Run MyPy Type Checker"
run: python -m mypy -p discopop_explorer -p discopop_profiler
- name: "Check formatting of discopop_profiler"
run: python -m black -l 100 --check discopop_profiler
discopop_profiler:
name: "Profiler"
runs-on: ubuntu-20.04
steps:
- name: "Checkout Repository"
uses: actions/checkout@v2
- name: "Install Dependencies"
run: |
sudo apt-get remove clang-8 clang-10 clang-9 clang-12 clang-11
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main"
sudo apt-get update
sudo apt-get install libclang-11-dev clang-11 llvm-11
- name: "Build DiscoPoP Profiler"
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j3
- name: "Setup Python"
uses: actions/setup-python@v2
with:
python-version: 3.6
- name: "Run DiscoPoP Profiler on test/ Targets"
run: |
chmod +x .github/workflows/discopop_profiler/test.sh
.github/workflows/discopop_profiler/test.sh
# differential_test_llvm_8_vs_11:
# name: "Differential test: LLVM 8 vs. 11"
# runs-on: ubuntu-20.04
# steps:
# - name: "Checkout Repository"
# uses: actions/checkout@v2
# - name: "Install cmake"
# run: |
# sudo apt-get update
# sudo apt-get install -y cmake
# - name: "Install LLVM 11"
# run: |
# sudo apt-get remove clang-8 clang-10 clang-9 clang-12 clang-11
# wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
# sudo apt-add-repository "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-11 main"
# sudo apt-get update
# sudo apt-get install -y libclang-11-dev clang-11 llvm-11
# sudo ln -s /usr/bin/clang-11 /usr/bin/clang || true
# sudo ln -s /usr/bin/clang++-11 /usr/bin/clang++ || true
# sudo ln -s /usr/bin/llvm-link-11 /usr/bin/llvm-link || true
# sudo ln -s /usr/bin/opt-11 /usr/bin/opt || true
# - name: "Build DiscoPoP Profiler"
# run: |
# mkdir build
# cd build
# cmake -DCMAKE_BUILD_TYPE=Debug ..
# make -j3
# - name: "Create Filemapping"
# run: |
# cp scripts/dp-fmap test/differential_mergesort
# cd test/differential_mergesort
# ./dp-fmap
# - name: "Execute DiscoPoP using LLVM 11"
# run: |
# cd test/differential_mergesort
# ./execute_dp.sh
# - name: "Store Results: LLVM 11"
# run: |
# mkdir ../dp_output_llvm_11
# mv test/differential_mergesort/out_dep.txt ../dp_output_llvm_11
# mv test/differential_mergesort/Data.xml ../dp_output_llvm_11
# mv test/differential_mergesort/loop_counter_output.txt ../dp_output_llvm_11
# mv test/differential_mergesort/reduction.txt ../dp_output_llvm_11
# - name: "Cleanup"
# run: |
# cd test/differential_mergesort
# rm *.txt
# rm out
# - name: "Install LLVM 8"
# run: |
# sudo apt-get remove -y clang-10 clang-9 clang-12 clang-11
# sudo apt-get install -y libclang-8-dev clang-8 llvm-8
# sudo rm /usr/bin/clang
# sudo rm /usr/bin/clang++
# sudo rm /usr/bin/llvm-link
# sudo rm /usr/bin/opt
# sudo ln -s /usr/bin/clang-8 /usr/bin/clang
# sudo ln -s /usr/bin/clang++-8 /usr/bin/clang++
# sudo ln -s /usr/bin/llvm-link-8 /usr/bin/llvm-link
# sudo ln -s /usr/bin/opt-8 /usr/bin/opt
# - name: "Remove DiscoPoP build folder created using LLVM 11"
# run: rm -r build
# - name: "Checkout Repository"
# uses: actions/checkout@v2
# - name: "Checkout commit using LLVM 8"
# run: |
# git fetch
# git checkout c005800d4a44df2c39446786fb8ecb1841308e5a
# - name: "Build DiscoPoP Profiler"
# run: |
# mkdir build
# cd build
# cmake -DCMAKE_BUILD_TYPE=Debug ..
# make -j3
# - name: "Create Filemapping"
# run: |
# cp scripts/dp-fmap test/differential_mergesort
# cd test/differential_mergesort
# ./dp-fmap
# - name: "Execute DiscoPoP using LLVM 8"
# run: |
# cd test/differential_mergesort
# ./execute_dp.sh
# - name: "Store Results: LLVM 8"
# run: |
# mkdir ../dp_output_llvm_8
# mv test/differential_mergesort/out_dep.txt ../dp_output_llvm_8
# mv test/differential_mergesort/Data.xml ../dp_output_llvm_8
# mv test/differential_mergesort/loop_counter_output.txt ../dp_output_llvm_8
# mv test/differential_mergesort/reduction.txt ../dp_output_llvm_8
# - name: "Sort results for sake of comparability"
# run: |
# sort ../dp_output_llvm_11/loop_counter_output.txt >> ../dp_output_llvm_11/loop_counter_output.sorted
# sort ../dp_output_llvm_11/Data.xml >> ../dp_output_llvm_11/Data.sorted
# sort ../dp_output_llvm_11/reduction.txt >> ../dp_output_llvm_11/reduction.sorted
# sort ../dp_output_llvm_11/out_dep.txt >> ../dp_output_llvm_11/out_dep.sorted
# sort ../dp_output_llvm_8/loop_counter_output.txt >> ../dp_output_llvm_8/loop_counter_output.sorted
# sort ../dp_output_llvm_8/Data.xml >> ../dp_output_llvm_8/Data.sorted
# sort ../dp_output_llvm_8/reduction.txt >> ../dp_output_llvm_8/reduction.sorted
# sort ../dp_output_llvm_8/out_dep.txt >> ../dp_output_llvm_8/out_dep.sorted
#
# - name: "Compare results"
# run: |
# # || used for error handling
# cmp ../dp_output_llvm_11/loop_counter_output.sorted ../dp_output_llvm_8/loop_counter_output.sorted || diff ../dp_output_llvm_11/loop_counter_output.sorted ../dp_output_llvm_8/loop_counter_output.sorted
# cmp ../dp_output_llvm_11/Data.sorted ../dp_output_llvm_8/Data.sorted || diff ../dp_output_llvm_11/Data.sorted ../dp_output_llvm_8/Data.sorted
# cmp ../dp_output_llvm_11/reduction.sorted ../dp_output_llvm_8/reduction.sorted || diff ../dp_output_llvm_11/reduction.sorted ../dp_output_llvm_8/reduction.sorted
# cmp ../dp_output_llvm_11/out_dep.sorted ../dp_output_llvm_8/out_dep.sorted || diff ../dp_output_llvm_11/out_dep.sorted ../dp_output_llvm_8/out_dep.sorted
#