Bandwidth fix #494
Workflow file for this run
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: ci | |
on: | |
pull_request: | |
branches: | |
- HiRep-CUDA | |
push: | |
branches: | |
- HiRep-CUDA | |
# cancel previous workflow | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
run-tests: | |
runs-on: ubuntu-latest | |
strategy: | |
# Ensures that jobs are not cancelled is one job fails | |
fail-fast: false | |
matrix: | |
nc: [2, 3] | |
repr: [FUND, ADJ] | |
omp: [-no-omp, -omp] | |
mpi: [-no-mpi, -mpi] | |
ecsw: [-expclover,-no-expclover] | |
exclude: | |
- nc: 3 | |
repr: ADJ | |
- omp: "-omp" | |
steps: | |
- name: Download HiRep | |
run: wget https://github.com/claudiopica/HiRep/archive/${{ github.sha }}.tar.gz && tar -xvf ${{ github.sha }}.tar.gz --strip-components=1 | |
- name: Check API rate | |
uses: ./.github/actions/api-rate | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
- name: Install dependencies | |
uses: awalsh128/cache-apt-pkgs-action@latest | |
with: | |
packages: openmpi-bin openmpi-common libopenmpi3 libopenmpi-dev libomp-dev ninja-build | |
version: 1.0 | |
- name: Setup link to mpirun alternative | |
run: sudo ln -fs /usr/bin/mpirun.openmpi /usr/bin/mpirun | |
- name: Run Tests | |
env: | |
OMPI_MCA_mca_base_component_show_load_errors: 0 | |
run: ./TestProgram/run_tests.sh "Algebra DiracOperator Geometry Inverters Sources StoredConfs Utils Propagator Random SpinorField Update WilsonLoops" --mpicc mpicc.openmpi --cflags "-Wall -O1 -fprofile-arcs -ftest-coverage" --ldflags "-fprofile-arcs -ftest-coverage" -n ${{ matrix.nc }} -r ${{ matrix.repr }} ${{ matrix.mpi }} ${{ matrix.omp }} ${{ matrix.ecsw }} | |
- name: Generate coverage report | |
run: pip3 install gcovr && python3 -m gcovr -x -o coverage.xml build/ | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos | |
files: ./coverage.xml | |
fail_ci_if_error: false | |
verbose: true |