Skip to content

[Experimental PR] Benchmark any Frontier Release on the CI #10

[Experimental PR] Benchmark any Frontier Release on the CI

[Experimental PR] Benchmark any Frontier Release on the CI #10

Workflow file for this run

name: 'Benchmark Frontier Releases'
concurrency:
group: bench-frontier
cancel-in-progress: false
on:
push:
pull_request:
workflow_dispatch:
inputs:
tag:
description: 'tag to Benchmark'
required: true
default: 'v5.1.3'
jobs:
self:
name: "${{ matrix.name }} (${{ matrix.device }}${{ matrix.interface != 'none' && format('-{0}', matrix.interface) || '' }})"
strategy:
fail-fast: false
matrix:
include:
- cluster: frontier
name: Oak Ridge | Frontier (CCE)
group: phoenix
labels: frontier
flag: f
device: gpu
interface: acc
build_script: "bash .github/workflows/frontier/build.sh gpu acc bench"
- cluster: frontier
name: Oak Ridge | Frontier (CCE)
group: phoenix
labels: frontier
flag: f
device: gpu
interface: omp
build_script: "bash .github/workflows/frontier/build.sh gpu omp bench"
runs-on:
group: ${{ matrix.group }}
labels: ${{ matrix.labels }}
timeout-minutes: 480
env:
ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
BENCH_TAG: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.tag != '' && github.event.inputs.tag || 'v5.1.3' }}
steps:
- name: Clone - PR
uses: actions/checkout@v4
with:
path: pr
- name: Clone - Master
uses: actions/checkout@v4
with:
repository: MFlowCode/MFC
ref: master
path: master
- name: Checkout PR repo
uses: actions/checkout@v3
with:
path: pr
- name: Setup & Build
run: |
(cd master && ${{ matrix.build_script }}) &
wait %1
- name: Bench (Master)
run: bash master/.github/scripts/run_parallel_benchmarks.sh ${{ matrix.device }} ${{ matrix.interface }} ${{ matrix.cluster }}
- name: Print Logs
if: always()
run: |
cat master/bench-${{ matrix.device }}.* 2>/dev/null || true
- name: Archive Logs (Frontier)
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.cluster }}-${{ matrix.device }}
path: |
master/bench-${{ matrix.device }}.*
master/build/benchmarks/*