Main to dev (2024-05-13) #1727
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: Performance Monitor | |
on: [push, pull_request] | |
jobs: | |
build-test-perfmon: | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: .testing | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- uses: ./.github/actions/ubuntu-setup | |
- uses: ./.github/actions/testing-setup | |
- name: Compile optimized models | |
if: ${{ github.event_name == 'pull_request' }} | |
run: >- | |
make -j build.prof | |
MOM_TARGET_SLUG=$GITHUB_REPOSITORY | |
MOM_TARGET_LOCAL_BRANCH=$GITHUB_BASE_REF | |
DO_REGRESSION_TESTS=true | |
- name: Generate profile data | |
if: ${{ github.event_name == 'pull_request' }} | |
run: >- | |
pip install f90nml && | |
make profile | |
DO_REGRESSION_TESTS=true | |
- name: Generate perf data | |
if: ${{ github.event_name == 'pull_request' }} | |
run: | | |
sudo sysctl -w kernel.perf_event_paranoid=2 | |
make perf DO_REGRESSION_TESTS=true | |
- name: Compile timing tests | |
run: | | |
make -j build.timing | |
- name: Run timing tests | |
run: | | |
make -j run.timing | |
- name: Display timing results | |
run: | | |
make -j show.timing |