Skip to content

Commit e8b34a0

Browse files
kwasdpbchekin
andauthored
Benchmarks subset (#2614)
Related to #2522 --------- Co-authored-by: Pavel Chekin <[email protected]>
1 parent 0187e36 commit e8b34a0

File tree

1 file changed

+20
-16
lines changed

1 file changed

+20
-16
lines changed

.github/workflows/triton-benchmarks.yml

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,10 @@ on:
2424
description: Run name
2525
type: string
2626
default: "Triton benchmarks"
27+
skip_benchmarks:
28+
description: JSON list of benchmarks to skip
29+
type: string
30+
default: "[]"
2731
schedule:
2832
- cron: "5 23 * * *"
2933
pull_request:
@@ -112,7 +116,7 @@ jobs:
112116
python setup.py install
113117
114118
- name: Run Triton Softmax kernel benchmark
115-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
119+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'fused_softmax.py') }}
116120
run: |
117121
cd benchmarks/triton_kernels_benchmark
118122
python fused_softmax.py --reports $REPORTS
@@ -121,7 +125,7 @@ jobs:
121125
python ../../scripts/build_report.py $REPORTS/softmax-performance.csv $REPORTS/softmax-xetla-report.csv --benchmark softmax --compiler xetla --param_cols "N" --tflops_col XeTLA-TFlops --hbm_col "XeTLA-GB/s" --tag $TAG
122126
123127
- name: Run Triton GEMM kernel benchmark
124-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
128+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'gemm_benchmark.py') }}
125129
run: |
126130
cd benchmarks/triton_kernels_benchmark
127131
python gemm_benchmark.py --reports $REPORTS
@@ -132,7 +136,7 @@ jobs:
132136
python ../../scripts/build_report.py $REPORTS/matmul-performance-base.csv $REPORTS/gemm-xetla-report.csv --benchmark gemm --compiler xetla --param_cols "B,M,K,N" --tflops_col XeTLA-TFlops --hbm_col "XeTLA-GB/s" --tag $TAG
133137
134138
- name: Run Triton GEMM kernel benchmark - default path
135-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
139+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'gemm_benchmark.py_default') }}
136140
run: |
137141
cd benchmarks/triton_kernels_benchmark
138142
# Default path:
@@ -148,7 +152,7 @@ jobs:
148152
python ../../scripts/build_report.py $REPORTS/matmul-performance-default-path.csv $REPORTS/gemm-triton-default-report.csv --benchmark gemm --compiler triton --param_cols "B,M,K,N" --tflops_col Triton-TFlops --hbm_col "Triton-GB/s" --tag $TAG
149153
150154
- name: Run Triton GEMM kernel benchmark - advanced path
151-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
155+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'gemm_benchmark.py_advanced') }}
152156
run: |
153157
cd benchmarks/triton_kernels_benchmark
154158
# Advanced path:
@@ -164,7 +168,7 @@ jobs:
164168
python ../../scripts/build_report.py $REPORTS/matmul-performance-adv-path.csv $REPORTS/gemm-triton-advanced-report.csv --benchmark gemm --compiler triton --param_cols "B,M,K,N" --tflops_col Triton-TFlops --hbm_col "Triton-GB/s" --tag $TAG
165169
166170
- name: Run Triton GEMM (A@B^t) kernel benchmark
167-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
171+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'gemm_benchmark.py_abt') }}
168172
run: |
169173
cd benchmarks/triton_kernels_benchmark
170174
TRANSPOSE_B=1 python gemm_benchmark.py --reports $REPORTS
@@ -175,7 +179,7 @@ jobs:
175179
python ../../scripts/build_report.py $REPORTS/matmul-performance-bt.csv $REPORTS/gemm-bt-onednn-report.csv --benchmark gemm-bt --compiler onednn --param_cols "B,M,K,N" --tflops_col onednn-TFlops --hbm_col "onednn-GB/s" --tag $TAG
176180
177181
- name: Run Triton GEMM (A^t@B) kernel benchmark
178-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
182+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'gemm_benchmark.py_atb') }}
179183
run: |
180184
cd benchmarks/triton_kernels_benchmark
181185
TRANSPOSE_A=1 python gemm_benchmark.py --reports $REPORTS
@@ -186,47 +190,47 @@ jobs:
186190
python ../../scripts/build_report.py $REPORTS/matmul-performance-at.csv $REPORTS/gemm-at-onednn-report.csv --benchmark gemm-at --compiler onednn --param_cols "B,M,K,N" --tflops_col onednn-TFlops --hbm_col "onednn-GB/s" --tag $TAG
187191
188192
- name: Run Triton GEMM (stream-k) kernel benchmark
189-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
193+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'gemm_streamk_benchmark.py') }}
190194
run: |
191195
cd benchmarks/triton_kernels_benchmark
192196
python gemm_streamk_benchmark.py --reports $REPORTS
193197
source ../../scripts/capture-hw-details.sh
194198
python ../../scripts/build_report.py $REPORTS/matmul-streamk-performance.csv $REPORTS/gemm-streamk-triton-report.csv --benchmark gemm-streamk --compiler triton --param_cols "M,K,N" --tflops_col Triton-TFlops --hbm_col "Triton-GB/s" --tag $TAG
195199
196200
- name: Run Triton GEMM (split-k) kernel benchmark
197-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
201+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'gemm_splitk_benchmark.py') }}
198202
run: |
199203
cd benchmarks/triton_kernels_benchmark
200204
python gemm_splitk_benchmark.py --reports $REPORTS
201205
source ../../scripts/capture-hw-details.sh
202206
python ../../scripts/build_report.py $REPORTS/matmul-splitk-performance.csv $REPORTS/gemm-splitk-triton-report.csv --benchmark gemm-splitk --compiler triton --param_cols "M,K,N" --tflops_col Triton-TFlops --hbm_col "Triton-GB/s" --tag $TAG
203207
204208
- name: Run Triton GEMM + PreOp (exp) kernel benchmark
205-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
209+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'gemm_preop_exp_benchmark.py') }}
206210
run: |
207211
cd benchmarks/triton_kernels_benchmark
208212
python gemm_preop_exp_benchmark.py --reports $REPORTS
209213
source ../../scripts/capture-hw-details.sh
210214
python ../../scripts/build_report.py $REPORTS/matmul-performance-preop-exp.csv $REPORTS/gemm-preop-exp-triton-report.csv --benchmark gemm-preop-exp --compiler triton --param_cols "B,M,K,N" --tflops_col Triton-TFlops --hbm_col "Triton-GB/s" --tag $TAG
211215
212216
- name: Run Triton GEMM + PostOp (Gelu) kernel benchmark
213-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
217+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'gemm_postop_gelu_benchmark.py') }}
214218
run: |
215219
cd benchmarks/triton_kernels_benchmark
216220
python gemm_postop_gelu_benchmark.py --reports $REPORTS
217221
source ../../scripts/capture-hw-details.sh
218222
python ../../scripts/build_report.py $REPORTS/matmul-performance-postop-gelu.csv $REPORTS/gemm-postop-gelu-triton-report.csv --benchmark gemm-postop-gelu --compiler triton --param_cols "B,M,K,N" --tflops_col Triton-TFlops --hbm_col "Triton-GB/s" --tag $TAG
219223
220224
- name: Run Triton GEMM + PostOp (add matrix) kernel benchmark
221-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
225+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'gemm_postop_addmatrix_benchmark.py') }}
222226
run: |
223227
cd benchmarks/triton_kernels_benchmark
224228
python gemm_postop_addmatrix_benchmark.py --reports $REPORTS
225229
source ../../scripts/capture-hw-details.sh
226230
python ../../scripts/build_report.py $REPORTS/matmul-performance-postop-addmatrix.csv $REPORTS/gemm-postop-addmatrix-triton-report.csv --benchmark gemm-postop-addmatrix --compiler triton --param_cols "B,M,K,N" --tflops_col Triton-TFlops --hbm_col "Triton-GB/s" --tag $TAG
227231
228232
- name: Run Triton FA kernel benchmark
229-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
233+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'flash_attention_fwd_benchmark.py') }}
230234
run: |
231235
cd benchmarks/triton_kernels_benchmark
232236
python flash_attention_fwd_benchmark.py --reports $REPORTS
@@ -236,7 +240,7 @@ jobs:
236240
python ../../scripts/build_report.py $REPORTS/attn-performance.csv $REPORTS/attn-xetla-report.csv --benchmark attn --compiler xetla --param_cols "Z,H,N_CTX,D_HEAD,CAUSAL" --tflops_col XeTLA-TFlops --hbm_col "XeTLA-GB/s" --tag $TAG
237241
238242
- name: Run Triton FA kernel benchmark - default path
239-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
243+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmark || '[]'), 'flash_attention_fwd_benchmark.py_default') }}
240244
run: |
241245
cd benchmarks/triton_kernels_benchmark
242246
TRITON_INTEL_ADVANCED_PATH=0 \
@@ -249,7 +253,7 @@ jobs:
249253
python ../../scripts/build_report.py $REPORTS/attn-performance.csv $REPORTS/attn-triton-default-report.csv --benchmark attn --compiler triton --param_cols "Z,H,N_CTX,D_HEAD,CAUSAL" --tflops_col Triton-TFlops --hbm_col "Triton-GB/s" --tag $TAG
250254
251255
- name: Run Triton FA kernel benchmark - advanced path
252-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
256+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'flash_attention_fwd_benchmark.py_advanced') }}
253257
run: |
254258
cd benchmarks/triton_kernels_benchmark
255259
TRITON_INTEL_ADVANCED_PATH=1 \
@@ -262,15 +266,15 @@ jobs:
262266
python ../../scripts/build_report.py $REPORTS/attn-performance.csv $REPORTS/attn-triton-advanced-report.csv --benchmark attn --compiler triton --param_cols "Z,H,N_CTX,D_HEAD,CAUSAL" --tflops_col Triton-TFlops --hbm_col "Triton-GB/s" --tag $TAG
263267
264268
- name: Run Prefix Sums kernel benchmark
265-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
269+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'prefix_sums.py') }}
266270
run: |
267271
cd benchmarks/triton_kernels_benchmark
268272
python prefix_sums.py --reports $REPORTS
269273
source ../../scripts/capture-hw-details.sh
270274
python ../../scripts/build_report.py $REPORTS/prefix-sums.csv $REPORTS/prefix_sums-triton-report.csv --benchmark prefix_sums --compiler triton --param_cols "N" --tflops_col Triton-TFlops --hbm_col "Triton-GB/s" --tag $TAG
271275
272276
- name: Run micro benchmark
273-
if: ${{ steps.install.outcome == 'success' && !cancelled() }}
277+
if: ${{ steps.install.outcome == 'success' && !cancelled() && !contains(fromJson(inputs.skip_benchmarks || '[]'), 'micro_benchmarks') }}
274278
run: |
275279
cd benchmarks/micro_benchmarks
276280
python run_benchmarks.py --reports $REPORTS

0 commit comments

Comments
 (0)