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