Skip to content

Effective FLOPS Definition and GPU Performance Insights #46

Effective FLOPS Definition and GPU Performance Insights

Effective FLOPS Definition and GPU Performance Insights #46

Workflow file for this run

name: build
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build:
strategy:
fail-fast: false
runs-on: self-hosted
steps:
- uses: actions/checkout@v4
- name: Build
run: |
module load BuildEnv/gcc-12.2.0.lua cuda-sdk;
mkdir -p build;
cd build;
cmake -DGPU_ARCHS="61;70;75;80;86;90" -DCMAKE_CXX_FLAGS=" --coverage -fno-inline -fno-inline-small-functions -fno-default-inline -fprofile-arcs -ftest-coverage " ..;
make -j 8;
- name: Test
env:
OMP_NUM_THREADS: 1
run: |
module load BuildEnv/gcc-12.2.0.lua cuda-sdk;
cd build;
# run test on GPU node
#srun -p GPU --time 1:0:0 --exclusive -N 1 -n 1 test/cu_solver_test
ctest -j 1
- name: Run coverage
run: |
module load BuildEnv/gcc-12.2.0.lua;
cd build;
lcov --capture --directory . --output-file coverage.info;
lcov --remove coverage.info '/usr/*' --output-file coverage.info
lcov --remove coverage.info '/opt/ohpc/pub/compiler/*' --output-file coverage.info
lcov --remove coverage.info '*_deps*' --output-file coverage.info
lcov --remove coverage.info '*libs*' --output-file coverage.info
lcov --list coverage.info
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
with:
flags: unittests
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}