@@ -18,16 +18,32 @@ jobs:
1818 with :
1919 filters : " .github/file-filter.yml"
2020
21- phoenix :
22- name : Georgia Tech | Phoenix (NVHPC)
21+ self :
22+ name : ${{ matrix.name }}
2323 if : github.repository == 'MFlowCode/MFC' && needs.file-changes.outputs.checkall == 'true'
2424 needs : file-changes
2525 strategy :
2626 matrix :
27- device : ['cpu', 'gpu']
27+ include :
28+ - cluster : phoenix
29+ name : " Georgia Tech | Phoenix (NVHPC)"
30+ group : phoenix
31+ labels : gt
32+ flag : p
33+ strategy :
34+ matrix :
35+ device : ['cpu', 'gpu']
36+ build_script : " "
37+ - cluster : frontier
38+ name : " Oak Ridge | Frontier (AMD ROCm)"
39+ group : frontier
40+ labels : olcf
41+ flag : f
42+ device : ['gpu']
43+ build_script : " bash .github/workflows/frontier/build.sh ${{ matrix.device }}"
2844 runs-on :
29- group : phoenix
30- labels : gt
45+ group : ${{ matrix.group }}
46+ labels : ${{ matrix.labels }}
3147 timeout-minutes : 1400
3248 env :
3349 ACTIONS_RUNNER_FORCE_ACTIONS_NODE_VERSION : node16
@@ -45,79 +61,31 @@ jobs:
4561 ref : master
4662 path : master
4763
64+ - name : Setup & Build
65+ if : matrix.build_script != ''
66+ run : |
67+ (cd pr && ${{ matrix.build_script }}) &
68+ (cd master && ${{ matrix.build_script }}) &
69+ wait %1 && wait %2
70+
4871 - name : Bench (Master v. PR)
4972 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 }}) &
73+ (cd pr && bash .github/workflows/${{ matrix.cluster }} /submit-bench.sh .github/workflows/${{ matrix.cluster }} /bench.sh ${{ matrix.device }}) &
74+ (cd master && bash .github/workflows/${{ matrix.cluster }} /submit-bench.sh .github/workflows/${{ matrix.cluster }} /bench.sh ${{ matrix.device }}) &
5275 wait %1 && wait %2
5376
5477 - name : Generate & Post Comment
5578 run : |
56- (cd pr && . ./mfc.sh load -c p -m g)
79+ (cd pr && . ./mfc.sh load -c ${{ matrix.flag }} -m g)
5780 (cd pr && ./mfc.sh bench_diff ../master/bench-${{ matrix.device }}.yaml ../pr/bench-${{ matrix.device }}.yaml)
5881
5982 - name : Archive Logs
6083 uses : actions/upload-artifact@v4
61- if : always()
84+ if : always()
6285 with :
63- name : logs -${{ matrix.device }}
86+ name : ${{ matrix.name }} -${{ matrix.device }}
6487 path : |
6588 pr/bench-${{ matrix.device }}.*
6689 pr/build/benchmarks/*
6790 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 : Setup & Build
98- run : |
99- (cd pr && bash .github/workflows/frontier/build.sh ${{ matrix.device }}) &
100- (cd master && bash .github/workflows/frontier/build.sh ${{ matrix.device }}) &
101- wait %1 && wait %2
102-
103- - name : Bench (Master v. PR)
104- run : |
105- (cd pr && bash .github/workflows/frontier/submit-bench.sh .github/workflows/frontier/bench.sh ${{ matrix.device }}) &
106- (cd master && bash .github/workflows/frontier/submit-bench.sh .github/workflows/frontier/bench.sh ${{ matrix.device }}) &
107- wait %1 && wait %2
108-
109- - name : Generate & Post Comment
110- run : |
111- (cd pr && . ./mfc.sh load -c p -m g)
112- (cd pr && ./mfc.sh bench_diff ../master/bench-${{ matrix.device }}.yaml ../pr/bench-${{ matrix.device }}.yaml)
113-
114- - name : Archive Logs
115- uses : actions/upload-artifact@v4
116- if : always()
117- with :
118- name : logs-frontier-${{ matrix.device }}
119- path : |
120- pr/bench-${{ matrix.device }}.*
121- pr/build/benchmarks/*
122- master/bench-${{ matrix.device }}.*
123- master/build/benchmarks/*
91+ master/build/benchmarks/*
0 commit comments