Skip to content

Commit

Permalink
merged and resolved the conflict in CUGeneration.cpp
Browse files Browse the repository at this point in the history
  • Loading branch information
Norouzi Arab, Mohammad committed Oct 2, 2020
2 parents a5ea135 + 206abb9 commit 538d031
Show file tree
Hide file tree
Showing 67 changed files with 546 additions and 176 deletions.
49 changes: 49 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# 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-latest
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 mypy data-science-types
- name: "Run unit_tests.py"
run: python -m discopop_explorer.unit_tests
- name: "Run MyPy Type Checker"
run: python -m mypy --warn-unused-ignores -p discopop_explorer

discopop_profiler:
name: "Profiler"
runs-on: ubuntu-latest
steps:
- name: "Checkout Repository"
uses: actions/checkout@v2
- name: "Build DiscoPoP Profiler"
run: |
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Debug ..
make -j3
- name: "Run DiscoPoP Profiler on test/ Targets"
run: .github/workflows/discopop_profiler/test.sh
54 changes: 54 additions & 0 deletions .github/workflows/discopop_profiler/test.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/usr/bin/env bash

# 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.

cd "$(dirname "$0")/../../.." || exit 1

DISCOPOP_SRC=$(pwd)
DISCOPOP_INSTALL="$(pwd)/build"
CXX=clang++-8

tests="cu dependence reduction"

function test_cu {
# CU Generation
${CXX} -g -O0 -fno-discard-value-names -Xclang -load -Xclang "${DISCOPOP_INSTALL}"/libi/LLVMCUGeneration.so -mllvm -fm-path -mllvm ./FileMapping.txt -c "$1" || return 1
}

function test_dependence {
# Dependence Profiling
${CXX} -g -O0 -fno-discard-value-names -Xclang -load -Xclang "${DISCOPOP_INSTALL}"/libi/LLVMDPInstrumentation.so -mllvm -fm-path -mllvm ./FileMapping.txt -c "$1" -o out.o || return 1
${CXX} out.o -L"${DISCOPOP_INSTALL}"/rtlib -lDiscoPoP_RT -lpthread || return 1
./a.out || return 1
}

function test_reduction {
# Identifying Reduction Operations
${CXX} -g -O0 -fno-discard-value-names -Xclang -load -Xclang "${DISCOPOP_INSTALL}"/libi/LLVMDPReduction.so -mllvm -fm-path -mllvm ./FileMapping.txt -c "$1" -o out.o || return 1
${CXX} out.o -L"${DISCOPOP_INSTALL}"/rtlib -lDiscoPoP_RT -lpthread || return 1
./a.out || return 1
}

exit_code=0
for target in ./test/*/; do
pushd $target
${DISCOPOP_SRC}/scripts/dp-fmap
for test in ${tests}; do
echo "###"
echo "### ${target} ${test}"
echo "###"
if ! test_$test "$(ls ./*.c ./*.cpp 2>/dev/null)"; then
exit_code=1
echo -e "\e[31m### ${target} ${test} failed.\e[0m"
fi
done
popd
done

exit $exit_code
61 changes: 61 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: "Publish Package"

on:
push:
tags:
- v*

jobs:
publish:
name: "Publish Package"
runs-on: ubuntu-latest
if: github.actor != 'github-actions'
steps:
- name: "Checkout Repository"
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: "Setup Python"
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: "Get Version String"
id: get_version
env:
GITHUB_REF: ${{ github.ref }}
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\/v/}
shell: bash
- name: "Create Version Files and Move Annotated Tag"
env:
GITHUB_REF: ${{ github.ref }}
VERSION: ${{ steps.get_version.outputs.VERSION }}
shell: bash
run: |
git fetch --tags --force origin ${GITHUB_REF}
git config user.name "$(git for-each-ref --format='%(taggername)' ${GITHUB_REF})"
git config user.email $(git for-each-ref --format='%(taggeremail)' ${GITHUB_REF})
git checkout $(git branch -a --format="%(refname:lstrip=3)" --contains ${GITHUB_REF} | tail -n1)
echo "${VERSION}" > VERSION
echo "__version__ = \"${VERSION}\"" > discopop_explorer/_version.py
git add VERSION discopop_explorer/_version.py
git commit -m "Release of Version ${VERSION}"
git tag -a -f -m "Version ${VERSION}" v${VERSION}
git push
git push --tags --force
- name: "Generate Python Package"
run: python setup.py sdist
- name: "Create Draft Release on GitHub"
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ steps.get_version.outputs.VERSION }}
release_name: Version ${{ steps.get_version.outputs.VERSION }}
draft: true
- name: "Publish Distribution to PyPI"
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
uses: pypa/gh-action-pypi-publish@master
with:
password: ${{ secrets.pypi_password }}
Loading

0 comments on commit 538d031

Please sign in to comment.