Files
TheRock/rocm-libraries/shared/tensile/Tensile/Perf/BERT/sgemm_xdlops.yaml
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

346 lines
12 KiB
YAML

# A config to generate a fast kernel for BERT model GEMMs
# update parameters to produce best kernel(S)
# to keep number of kernel produced minimum
# 1) add new sections if certain paramters are more conducive to certain problem sizes
# 2) create separate sections for replacement kernel(s)
# 3) create separate sections for problem sizes belongs to specific model parameter sizes
GlobalParameters:
MinimumRequiredVersion: 4.14.0
PrintLevel: 1
ForceRedoBenchmarkProblems: True
ForceRedoLibraryLogic: True
ForceRedoLibraryClient: True
CMakeBuildType: Release
EnqueuesPerSync: 1
SyncsPerBenchmark: 1
LibraryPrintDebug: False
NumElementsToValidate: 1
ValidationMaxToPrint: 4
ValidationPrintValids: False
ShortNames: False
MergeFiles: True
Platform: 0
Device: 0
KernelTime: True
PinClocks: False
SleepPercent: 0
PrintSolutionRejectionReason: True
DataInitTypeA: 3
DataInitTypeB: 3
DataInitTypeBeta: 0
DataInitTypeAlpha: 1
PrintTensorA: 0
PrintTensorB: 0
PrintTensorD: 0
BenchmarkProblems:
########################################
# TN -
# max_sequenth_lenth = 128
########################################
-
- # ProblemType
OperationType: GEMM
DataType: s
TransposeA: True
TransposeB: False
UseBeta: True
Batched: True
########################################
# TN - standard 2Blocks/Inst
########################################
- # BenchmarkProblemSizeGroup - Standard
InitialSolutionParameters:
BenchmarkCommonParameters:
- KernelLanguage: ["Assembly"]
- EdgeType: ["ShiftPtr"]
- PrefetchLocalRead: [True]
- PrefetchGlobalRead: [True]
ForkParameters:
- MatrixInstruction:
- [32, 32, 1, 2]
#- [32, 32, 2, 1]
- ThreadTile:
- [ 2, 32 ]
- [ 1, 64 ]
- WorkGroup:
- [ 64, 4, 1 ]
- [ 32, 8, 1 ]
- WorkGroupMapping: [1]
#- DirectToLds: [0]
- TransposeLDS: [1]
- LdsBlockSizePerPad: [128]
- LdsPadA: [4]
- LdsPadB: [4]
- GlobalSplitU: [1]
- DepthU: [ 16 ]
- VectorWidth: [1]
- GlobalReadVectorWidth: [4]
- InnerUnroll: [1]
- ScheduleIterAlg: [1]
- OptNoLoadLoop: [0]
BenchmarkForkParameters:
JoinParameters:
BenchmarkJoinParameters:
BenchmarkFinalParameters:
- ProblemSizes:
- Exact: [ 1024,3072,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,3072,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,4096,1,4096,1056,1056,4128,4160 ]
- Exact: [ 4096,4096,1,1024,4128,4128,1088,1056 ]
- Exact: [ 1024,2048,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,3072,1,3072,1056,1056,3136,3104 ]
- Exact: [ 3072,3072,1,1024,3104,3104,1088,1056 ]
- Exact: [ 1024,2048,1,3072,1056,1056,3136,3104 ]
- Exact: [ 3072,2048,1,1024,3104,3104,1088,1056 ]
- Exact: [ 1024,512,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,512,1,3072,1056,1056,3136,3104 ]
- Exact: [ 512,512,1,64,544,544,128,96 ]
- Exact: [ 64,512,1,512,92,96,576,544 ]
- Exact: [ 3072,512,1,1024,3104,3104,1088,1056 ]
- Exact: [ 30528,4096,1,1024,30554,30554,1088,1056 ]
- Exact: [ 30528,2048,1,1024,30554,30554,1088,1056 ]
########################################
# TN - standard 1Blocks/Inst
########################################
- # BenchmarkProblemSizeGroup - Standard
InitialSolutionParameters:
BenchmarkCommonParameters:
- KernelLanguage: ["Assembly"]
- EdgeType: ["ShiftPtr"]
- PrefetchLocalRead: [True]
- PrefetchGlobalRead: [True]
ForkParameters:
- MatrixInstruction:
- [32, 32, 2, 1]
- ThreadTile:
- [ 2, 32 ]
- [ 1, 64 ]
- WorkGroup:
- [ 64, 4, 1 ]
- [ 32, 8, 1 ]
- WorkGroupMapping: [1]
#- DirectToLds: [0]
- TransposeLDS: [1]
- LdsBlockSizePerPad: [128]
- LdsPadA: [4]
- LdsPadB: [4]
- GlobalSplitU: [1]
- DepthU: [ 16 ]
- VectorWidth: [1]
- GlobalReadVectorWidth: [4]
- InnerUnroll: [1]
- ScheduleIterAlg: [1]
- OptNoLoadLoop: [0]
BenchmarkForkParameters:
JoinParameters:
BenchmarkJoinParameters:
BenchmarkFinalParameters:
- ProblemSizes:
- Exact: [ 1024,3072,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,3072,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,4096,1,4096,1056,1056,4128,4160 ]
- Exact: [ 4096,4096,1,1024,4128,4128,1088,1056 ]
- Exact: [ 1024,2048,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,3072,1,3072,1056,1056,3136,3104 ]
- Exact: [ 3072,3072,1,1024,3104,3104,1088,1056 ]
- Exact: [ 1024,2048,1,3072,1056,1056,3136,3104 ]
- Exact: [ 3072,2048,1,1024,3104,3104,1088,1056 ]
- Exact: [ 1024,512,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,512,1,3072,1056,1056,3136,3104 ]
- Exact: [ 512,512,1,64,544,544,128,96 ]
- Exact: [ 64,512,1,512,92,96,576,544 ]
- Exact: [ 3072,512,1,1024,3104,3104,1088,1056 ]
- Exact: [ 30528,4096,1,1024,30554,30554,1088,1056 ]
- Exact: [ 30528,2048,1,1024,30554,30554,1088,1056 ]
########################################
# NN -
########################################
-
- # ProblemType
OperationType: GEMM
DataType: s
TransposeA: False
TransposeB: False
UseBeta: True
Batched: True
########################################
# NN - standard 2Blocks/Inst
########################################
- # BenchmarkProblemSizeGroup - Standard
InitialSolutionParameters:
BenchmarkCommonParameters:
- KernelLanguage: ["Assembly"]
- EdgeType: ["ShiftPtr"]
- PrefetchLocalRead: [True]
- PrefetchGlobalRead: [True]
ForkParameters:
- MatrixInstruction:
- [32, 32, 1, 2]
- ThreadTile:
- [ 2, 32 ]
- [ 1, 64 ]
- WorkGroup:
- [ 64, 4, 1 ]
- [ 32, 8, 1 ]
- WorkGroupMapping: [1]
#- DirectToLds: [0]
- TransposeLDS: [0]
- GlobalSplitU: [1]
- DepthU: [ 16 ]
- VectorWidth: [1]
- GlobalReadVectorWidth: [4]
- InnerUnroll: [2]
- ScheduleIterAlg: [1]
- OptNoLoadLoop: [0]
BenchmarkForkParameters:
JoinParameters:
BenchmarkJoinParameters:
BenchmarkFinalParameters:
- ProblemSizes:
- Exact: [ 1024,3072,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,3072,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,4096,1,4096,1056,1056,4128,4160 ]
- Exact: [ 4096,4096,1,1024,4128,4128,1088,1056 ]
- Exact: [ 1024,2048,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,3072,1,3072,1056,1056,3136,3104 ]
- Exact: [ 3072,3072,1,1024,3104,3104,1088,1056 ]
- Exact: [ 1024,2048,1,3072,1056,1056,3136,3104 ]
- Exact: [ 3072,2048,1,1024,3104,3104,1088,1056 ]
- Exact: [ 1024,512,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,512,1,3072,1056,1056,3136,3104 ]
- Exact: [ 512,512,1,64,544,544,128,96 ]
- Exact: [ 64,512,1,512,92,96,576,544 ]
- Exact: [ 3072,512,1,1024,3104,3104,1088,1056 ]
- Exact: [ 30528,4096,1,1024,30554,30554,1088,1056 ]
- Exact: [ 30528,2048,1,1024,30554,30554,1088,1056 ]
########################################
# NN - standard 1Blocks/Inst
########################################
- # BenchmarkProblemSizeGroup - Standard
InitialSolutionParameters:
BenchmarkCommonParameters:
- KernelLanguage: ["Assembly"]
- EdgeType: ["ShiftPtr"]
- PrefetchLocalRead: [True]
- PrefetchGlobalRead: [True]
ForkParameters:
- MatrixInstruction:
- [32, 32, 2, 1]
- ThreadTile:
- [ 2, 32 ]
- [ 1, 64 ]
- WorkGroup:
- [ 64, 4, 1 ]
- [ 32, 8, 1 ]
- WorkGroupMapping: [1]
#- DirectToLds: [0]
- TransposeLDS: [1]
- LdsBlockSizePerPad: [128]
- LdsPadA: [4]
- LdsPadB: [4]
- GlobalSplitU: [1]
- DepthU: [ 16 ]
- VectorWidth: [1]
- GlobalReadVectorWidth: [4]
- InnerUnroll: [2]
- ScheduleIterAlg: [1]
- OptNoLoadLoop: [0]
BenchmarkForkParameters:
JoinParameters:
BenchmarkJoinParameters:
BenchmarkFinalParameters:
- ProblemSizes:
- Exact: [ 1024,3072,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,3072,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,4096,1,4096,1056,1056,4128,4160 ]
- Exact: [ 4096,4096,1,1024,4128,4128,1088,1056 ]
- Exact: [ 1024,2048,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,3072,1,3072,1056,1056,3136,3104 ]
- Exact: [ 3072,3072,1,1024,3104,3104,1088,1056 ]
- Exact: [ 1024,2048,1,3072,1056,1056,3136,3104 ]
- Exact: [ 3072,2048,1,1024,3104,3104,1088,1056 ]
- Exact: [ 1024,512,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,512,1,3072,1056,1056,3136,3104 ]
- Exact: [ 512,512,1,64,544,544,128,96 ]
- Exact: [ 64,512,1,512,92,96,576,544 ]
- Exact: [ 3072,512,1,1024,3104,3104,1088,1056 ]
- Exact: [ 30528,4096,1,1024,30554,30554,1088,1056 ]
- Exact: [ 30528,2048,1,1024,30554,30554,1088,1056 ]
########################################
# TN - standard 2Blocks/Inst
# BERT BIG model
# batch size 1, 4, 6
# seq_size : 512
########################################
- # BenchmarkProblemSizeGroup - Standard
InitialSolutionParameters:
BenchmarkCommonParameters:
- KernelLanguage: ["Assembly"]
- EdgeType: ["ShiftPtr"]
- PrefetchLocalRead: [True]
- PrefetchGlobalRead: [True]
ForkParameters:
- MatrixInstruction:
- [32, 32, 1, 2]
- [32, 32, 2, 1]
- [16, 16, 4, 1]
- [16, 16, 1, 4]
- ThreadTile:
- [ 2, 32 ]
- [ 1, 64 ]
- [ 2, 16 ]
- [ 4, 32 ]
- WorkGroup:
- [ 64, 4, 1 ]
- [ 32, 8, 1 ]
- [ 16, 16, 1 ]
- WorkGroupMapping: [1]
#- DirectToLds: [0]
- TransposeLDS: [1]
- LdsBlockSizePerPad: [128]
- LdsPadA: [4]
- LdsPadB: [4]
- GlobalSplitU: [1]
- DepthU: [ 16 ]
- VectorWidth: [1]
- GlobalReadVectorWidth: [4]
- InnerUnroll: [1]
- ScheduleIterAlg: [1]
- OptNoLoadLoop: [0]
BenchmarkForkParameters:
JoinParameters:
BenchmarkJoinParameters:
BenchmarkFinalParameters:
- ProblemSizes:
- Exact: [ 1024,2048,1,3072,1056,1056,3136,3104 ]
- Exact: [ 1024,3072,1,1024,1056,1056,1088,1056 ]
- Exact: [ 1024,512,1,1024,1056,1056,1088,1056 ]
- Exact: [ 3072,3072,1,1024,3104,3104,1088,1056 ]
- Exact: [ 3072,512,1,1024,3104,3104,1088,1056 ]
- Exact: [ 512,512,1,64,544,544,128,96 ]
- Exact: [ 1024,80,1,1024,1056,1056,1088,1056 ]
- Exact: [ 30522,120,1,1024,30554,30554,1088,1056 ]
- Exact: [ 30522,20,1,1024,30554,30554,1088,1056 ]
- Exact: [ 30522,80,1,1024,30554,30554,1088,1056 ]
- Exact: [ 30522,160,1,1024,30554,30554,1088,1056 ]
- Exact: [ 30522,120,1,1024,30554,30554,1088,1056 ]
- Exact: [ 1024,120,1,1024,30554,30554,1088,1056 ]
- Exact: [ 1024,20,1,1024,30554,30554,1088,1056 ]
########################################
LibraryLogic:
ScheduleName: "arcturus"
DeviceNames: ["Device 7380", "Device 7388", "Device 738c", "Device 7390"]