Skip to content

Commit 4141583

Browse files
author
mohdsaid497566
committed
added benchmarking for Frontier CPI/GPU
1 parent 15ff1ce commit 4141583

File tree

18 files changed

+957
-852
lines changed

18 files changed

+957
-852
lines changed

.github/workflows/bench.yml

Lines changed: 117 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,117 @@
1-
name: 'Benchmark'
2-
3-
on: pull_request
4-
5-
jobs:
6-
file-changes:
7-
name: Detect File Changes
8-
runs-on: 'ubuntu-latest'
9-
outputs:
10-
checkall: ${{ steps.changes.outputs.checkall }}
11-
steps:
12-
- name: Clone
13-
uses: actions/checkout@v4
14-
15-
- name: Detect Changes
16-
uses: dorny/paths-filter@v3
17-
id: changes
18-
with:
19-
filters: ".github/file-filter.yml"
20-
21-
self:
22-
name: Georgia Tech | Phoenix (NVHPC)
23-
if: github.repository == 'MFlowCode/MFC' && needs.file-changes.outputs.checkall == 'true'
24-
needs: file-changes
25-
strategy:
26-
matrix:
27-
device: ['cpu', 'gpu']
28-
runs-on:
29-
group: phoenix
30-
labels: gt
31-
timeout-minutes: 1400
32-
env:
33-
ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
34-
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
35-
steps:
36-
- name: Clone - PR
37-
uses: actions/checkout@v4
38-
with:
39-
path: pr
40-
41-
- name: Clone - Master
42-
uses: actions/checkout@v4
43-
with:
44-
repository: MFlowCode/MFC
45-
ref: master
46-
path: master
47-
48-
- name: Bench (Master v. PR)
49-
run: |
50-
(cd pr && bash .github/workflows/phoenix/submit-bench.sh .github/workflows/phoenix/bench.sh ${{ matrix.device }}) &
51-
(cd master && bash .github/workflows/phoenix/submit-bench.sh .github/workflows/phoenix/bench.sh ${{ matrix.device }}) &
52-
wait %1 && wait %2
53-
54-
- name: Generate & Post Comment
55-
run: |
56-
(cd pr && . ./mfc.sh load -c p -m g)
57-
(cd pr && ./mfc.sh bench_diff ../master/bench-${{ matrix.device }}.yaml ../pr/bench-${{ matrix.device }}.yaml)
58-
59-
- name: Archive Logs
60-
uses: actions/upload-artifact@v4
61-
if: always()
62-
with:
63-
name: logs-${{ matrix.device }}
64-
path: |
65-
pr/bench-${{ matrix.device }}.*
66-
pr/build/benchmarks/*
67-
master/bench-${{ matrix.device }}.*
68-
master/build/benchmarks/*
1+
name: 'Benchmark'
2+
3+
on: pull_request
4+
5+
jobs:
6+
file-changes:
7+
name: Detect File Changes
8+
runs-on: 'ubuntu-latest'
9+
outputs:
10+
checkall: ${{ steps.changes.outputs.checkall }}
11+
steps:
12+
- name: Clone
13+
uses: actions/checkout@v4
14+
15+
- name: Detect Changes
16+
uses: dorny/paths-filter@v3
17+
id: changes
18+
with:
19+
filters: ".github/file-filter.yml"
20+
21+
phoenix:
22+
name: Georgia Tech | Phoenix (NVHPC)
23+
if: github.repository == 'MFlowCode/MFC' && needs.file-changes.outputs.checkall == 'true'
24+
needs: file-changes
25+
strategy:
26+
matrix:
27+
device: ['cpu', 'gpu']
28+
runs-on:
29+
group: phoenix
30+
labels: gt
31+
timeout-minutes: 1400
32+
env:
33+
ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
34+
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
35+
steps:
36+
- name: Clone - PR
37+
uses: actions/checkout@v4
38+
with:
39+
path: pr
40+
41+
- name: Clone - Master
42+
uses: actions/checkout@v4
43+
with:
44+
repository: MFlowCode/MFC
45+
ref: master
46+
path: master
47+
48+
- name: Bench (Master v. PR)
49+
run: |
50+
(cd pr && bash .github/workflows/phoenix/submit-bench.sh .github/workflows/phoenix/bench.sh ${{ matrix.device }}) &
51+
(cd master && bash .github/workflows/phoenix/submit-bench.sh .github/workflows/phoenix/bench.sh ${{ matrix.device }}) &
52+
wait %1 && wait %2
53+
54+
- name: Generate & Post Comment
55+
run: |
56+
(cd pr && . ./mfc.sh load -c p -m g)
57+
(cd pr && ./mfc.sh bench_diff ../master/bench-${{ matrix.device }}.yaml ../pr/bench-${{ matrix.device }}.yaml)
58+
59+
- name: Archive Logs
60+
uses: actions/upload-artifact@v4
61+
if: always()
62+
with:
63+
name: logs-${{ matrix.device }}
64+
path: |
65+
pr/bench-${{ matrix.device }}.*
66+
pr/build/benchmarks/*
67+
master/bench-${{ matrix.device }}.*
68+
master/build/benchmarks/*
69+
70+
frontier:
71+
name: Oak Ridge | Frontier (AMD ROCm)
72+
if: github.repository == 'MFlowCode/MFC' && needs.file-changes.outputs.checkall == 'true'
73+
needs: file-changes
74+
strategy:
75+
matrix:
76+
device: ['cpu', 'gpu']
77+
runs-on:
78+
group: frontier
79+
labels: olcf
80+
timeout-minutes: 1400
81+
env:
82+
ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION: node16
83+
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
84+
steps:
85+
- name: Clone - PR
86+
uses: actions/checkout@v4
87+
with:
88+
path: pr
89+
90+
- name: Clone - Master
91+
uses: actions/checkout@v4
92+
with:
93+
repository: MFlowCode/MFC
94+
ref: master
95+
path: master
96+
97+
- name: Bench (Master v. PR)
98+
run: |
99+
(cd pr && bash .github/workflows/frontier/submit-bench.sh .github/workflows/frontier/bench.sh ${{ matrix.device }}) &
100+
(cd master && bash .github/workflows/frontier/submit-bench.sh .github/workflows/frontier/bench.sh ${{ matrix.device }}) &
101+
wait %1 && wait %2
102+
103+
- name: Generate & Post Comment
104+
run: |
105+
(cd pr && . ./mfc.sh load -c p -m g)
106+
(cd pr && ./mfc.sh bench_diff ../master/bench-${{ matrix.device }}.yaml ../pr/bench-${{ matrix.device }}.yaml)
107+
108+
- name: Archive Logs
109+
uses: actions/upload-artifact@v4
110+
if: always()
111+
with:
112+
name: logs-frontier-${{ matrix.device }}
113+
path: |
114+
pr/bench-${{ matrix.device }}.*
115+
pr/build/benchmarks/*
116+
master/bench-${{ matrix.device }}.*
117+
master/build/benchmarks/*

0 commit comments

Comments
 (0)