Data Dependency Analysis for Control Flow Regions #4710
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: General Tests | |
on: | |
push: | |
branches: [ main, ci-fix ] | |
pull_request: | |
branches: [ main, ci-fix ] | |
merge_group: | |
branches: [ main, ci-fix ] | |
jobs: | |
test: | |
if: "!contains(github.event.pull_request.labels.*.name, 'no-ci')" | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [3.7,'3.12'] | |
simplify: [0,1,autoopt] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: 'recursive' | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libyaml-dev cmake | |
sudo apt-get install -y libblas-dev libopenblas-dev liblapacke-dev | |
sudo apt-get install -y libpapi-dev papi-tools # Instrumentation dependencies | |
sudo apt-get install -y verilator # RTL simulation dependencies | |
python -m pip install --upgrade pip | |
pip install flake8 pytest-xdist coverage | |
pip install -e ".[testing]" | |
curl -Os https://uploader.codecov.io/latest/linux/codecov | |
chmod +x codecov | |
- name: Test dependencies | |
run: | | |
papi_avail | |
- name: Test with pytest | |
run: | | |
export NOSTATUSBAR=1 | |
export DACE_testing_serialization=1 | |
export DACE_testing_deserialize_exception=1 | |
export DACE_cache=unique | |
if [ "${{ matrix.simplify }}" = "autoopt" ]; then | |
export DACE_optimizer_automatic_simplification=1 | |
export DACE_optimizer_autooptimize=1 | |
echo "Auto-optimization heuristics" | |
else | |
export DACE_optimizer_automatic_simplification=${{ matrix.simplify }} | |
fi | |
pytest -n auto --cov-report=xml --cov=dace --tb=short -m "not gpu and not verilator and not tensorflow and not mkl and not sve and not papi and not mlir and not lapack and not fpga and not mpi and not rtl_hardware and not scalapack and not datainstrument and not long" | |
./codecov | |
- name: Test OpenBLAS LAPACK | |
run: | | |
export NOSTATUSBAR=1 | |
export DACE_testing_serialization=1 | |
export DACE_testing_deserialize_exception=1 | |
export DACE_cache=unique | |
if [ "${{ matrix.simplify }}" = "autoopt" ]; then | |
export DACE_optimizer_automatic_simplification=1 | |
export DACE_optimizer_autooptimize=1 | |
echo "Auto-optimization heuristics" | |
else | |
export DACE_optimizer_automatic_simplification=${{ matrix.simplify }} | |
fi | |
pytest -n 1 --cov-report=xml --cov=dace --tb=short -m "lapack" | |
./codecov | |
- name: Run other tests | |
run: | | |
export NOSTATUSBAR=1 | |
export DACE_testing_serialization=0 | |
export DACE_testing_deserialize_exception=1 | |
export DACE_cache=single | |
export DACE_optimizer_automatic_simplification=${{ matrix.simplify }} | |
export PYTHON_BINARY="coverage run --source=dace --parallel-mode" | |
./tests/polybench_test.sh | |
./tests/xform_test.sh | |
coverage combine .; coverage report; coverage xml | |
- uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
verbose: true |