Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 1 | # Copyright 2022 The IREE Authors |
| 2 | # |
| 3 | # Licensed under the Apache License v2.0 with LLVM Exceptions. |
| 4 | # See https://llvm.org/LICENSE.txt for license information. |
| 5 | # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| 6 | |
| 7 | ################################################################################ |
| 8 | # # |
| 9 | # Default benchmark configurations # |
| 10 | # # |
| 11 | # Each suite benchmarks a list of modules with configurations specifying a # |
| 12 | # target architecture and runtime characteristics (e.g. threads/cores). These # |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 13 | # benchmarks only configure IREE compilation and runtime flags for the target # |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 14 | # architecture and do *not* include any non-default flags. No non-default # |
| 15 | # flags should be added here. # |
| 16 | # # |
| 17 | ################################################################################ |
| 18 | |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 19 | set(ANDROID_CPU_COMPILATION_FLAGS |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 20 | "--iree-input-type=tosa" |
| 21 | "--iree-llvm-target-triple=aarch64-none-linux-android29") |
| 22 | |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 23 | # CPU, LLVM, local-sync, big/little-core, full-inference |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 24 | iree_benchmark_suite( |
| 25 | GROUP_NAME |
| 26 | "android-arm64-v8a" |
| 27 | |
| 28 | MODULES |
| 29 | "${DEEPLABV3_FP32_MODULE}" |
| 30 | "${MOBILESSD_FP32_MODULE}" |
| 31 | "${POSENET_FP32_MODULE}" |
| 32 | "${MOBILEBERT_FP32_MODULE}" |
| 33 | "${MOBILEBERT_INT8_MODULE}" |
| 34 | "${MOBILENET_V2_MODULE}" |
| 35 | "${MOBILENET_V3SMALL_MODULE}" |
| 36 | |
| 37 | BENCHMARK_MODES |
| 38 | "big-core,full-inference,default-flags" |
| 39 | "little-core,full-inference,default-flags" |
| 40 | TARGET_BACKEND |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 41 | "llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 42 | TARGET_ARCHITECTURE |
| 43 | "CPU-ARM64-v8A" |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 44 | COMPILATION_FLAGS |
| 45 | ${ANDROID_CPU_COMPILATION_FLAGS} |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 46 | BENCHMARK_TOOL |
| 47 | iree-benchmark-module |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 48 | CONFIG |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 49 | "iree-llvm-cpu-sync" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 50 | DRIVER |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 51 | "local-sync" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 52 | ) |
| 53 | |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 54 | # CPU, LLVM, local-task, 1 through 4 threads, big/little-core, full-inference. |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 55 | iree_benchmark_suite( |
| 56 | GROUP_NAME |
| 57 | "android-arm64-v8a" |
| 58 | |
| 59 | MODULES |
| 60 | "${DEEPLABV3_FP32_MODULE}" |
| 61 | "${MOBILESSD_FP32_MODULE}" |
| 62 | "${POSENET_FP32_MODULE}" |
| 63 | "${MOBILEBERT_FP32_MODULE}" |
| 64 | "${MOBILEBERT_INT8_MODULE}" |
| 65 | "${MOBILENET_V2_MODULE}" |
| 66 | "${MOBILENET_V3SMALL_MODULE}" |
| 67 | |
| 68 | BENCHMARK_MODES |
| 69 | "1-thread,big-core,full-inference,default-flags" |
| 70 | "1-thread,little-core,full-inference,default-flags" |
| 71 | TARGET_BACKEND |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 72 | "llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 73 | TARGET_ARCHITECTURE |
| 74 | "CPU-ARM64-v8A" |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 75 | COMPILATION_FLAGS |
| 76 | ${ANDROID_CPU_COMPILATION_FLAGS} |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 77 | BENCHMARK_TOOL |
| 78 | iree-benchmark-module |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 79 | CONFIG |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 80 | "iree-llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 81 | DRIVER |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 82 | "local-task" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 83 | RUNTIME_FLAGS |
| 84 | "--task_topology_group_count=1" |
| 85 | ) |
| 86 | |
| 87 | # TODO(#7792): Re-enable these when we are able to run different benchmarks |
| 88 | # depending on use-case (presubmit, postsubmit, nightly, etc.) |
| 89 | # iree_benchmark_suite( |
| 90 | # GROUP_NAME |
| 91 | # "android-arm64-v8a" |
| 92 | # |
| 93 | # MODULES |
| 94 | # "${DEEPLABV3_FP32_MODULE}" |
| 95 | # "${MOBILESSD_FP32_MODULE}" |
| 96 | # "${POSENET_FP32_MODULE}" |
| 97 | # "${MOBILEBERT_FP32_MODULE}" |
| 98 | # "${MOBILENET_V2_MODULE}" |
| 99 | # "${MOBILENET_V3SMALL_MODULE}" |
| 100 | |
| 101 | # BENCHMARK_MODES |
| 102 | # "2-thread,big-core,full-inference,default-flags" |
| 103 | # "2-thread,little-core,full-inference,default-flags" |
| 104 | # TARGET_BACKEND |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 105 | # "llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 106 | # TARGET_ARCHITECTURE |
| 107 | # "CPU-ARM64-v8A" |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 108 | # COMPILATION_FLAGS |
| 109 | # ${ANDROID_CPU_COMPILATION_FLAGS} |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 110 | # BENCHMARK_TOOL |
| 111 | # iree-benchmark-module |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 112 | # CONFIG |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 113 | # "iree-llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 114 | # DRIVER |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 115 | # "local-task" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 116 | # RUNTIME_FLAGS |
| 117 | # "--task_topology_group_count=2" |
| 118 | # ) |
| 119 | |
| 120 | # iree_benchmark_suite( |
| 121 | # GROUP_NAME |
| 122 | # "android-arm64-v8a" |
| 123 | # |
| 124 | # MODULES |
| 125 | # "${DEEPLABV3_FP32_MODULE}" |
| 126 | # "${MOBILESSD_FP32_MODULE}" |
| 127 | # "${POSENET_FP32_MODULE}" |
| 128 | # "${MOBILEBERT_FP32_MODULE}" |
| 129 | # "${MOBILENET_V2_MODULE}" |
| 130 | # "${MOBILENET_V3SMALL_MODULE}" |
| 131 | |
| 132 | # BENCHMARK_MODES |
| 133 | # "3-thread,big-core,full-inference,default-flags" |
| 134 | # "3-thread,little-core,full-inference,default-flags" |
| 135 | # TARGET_BACKEND |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 136 | # "llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 137 | # TARGET_ARCHITECTURE |
| 138 | # "CPU-ARM64-v8A" |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 139 | # COMPILATION_FLAGS |
| 140 | # ${ANDROID_CPU_COMPILATION_FLAGS} |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 141 | # BENCHMARK_TOOL |
| 142 | # iree-benchmark-module |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 143 | # CONFIG |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 144 | # "iree-llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 145 | # DRIVER |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 146 | # "local-task" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 147 | # RUNTIME_FLAGS |
| 148 | # "--task_topology_group_count=3" |
| 149 | # ) |
| 150 | |
| 151 | iree_benchmark_suite( |
| 152 | GROUP_NAME |
| 153 | "android-arm64-v8a" |
| 154 | |
| 155 | MODULES |
| 156 | "${DEEPLABV3_FP32_MODULE}" |
| 157 | "${MOBILESSD_FP32_MODULE}" |
| 158 | "${POSENET_FP32_MODULE}" |
| 159 | "${MOBILEBERT_FP32_MODULE}" |
| 160 | "${MOBILEBERT_INT8_MODULE}" |
| 161 | "${MOBILENET_V2_MODULE}" |
| 162 | "${MOBILENET_V3SMALL_MODULE}" |
| 163 | |
| 164 | BENCHMARK_MODES |
| 165 | "4-thread,big-core,full-inference,default-flags" |
| 166 | "4-thread,little-core,full-inference,default-flags" |
| 167 | TARGET_BACKEND |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 168 | "llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 169 | TARGET_ARCHITECTURE |
| 170 | "CPU-ARM64-v8A" |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 171 | COMPILATION_FLAGS |
| 172 | ${ANDROID_CPU_COMPILATION_FLAGS} |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 173 | BENCHMARK_TOOL |
| 174 | iree-benchmark-module |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 175 | CONFIG |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 176 | "iree-llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 177 | DRIVER |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 178 | "local-task" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 179 | RUNTIME_FLAGS |
| 180 | "--task_topology_group_count=4" |
| 181 | ) |
| 182 | |
| 183 | ################################################################################ |
| 184 | |
| 185 | ################################################################################ |
| 186 | # # |
| 187 | # Specialized benchmark configurations # |
| 188 | # # |
| 189 | # Each suite benchmarks one or more module with configurations that can vary # |
| 190 | # on model or architecture characteristics. These are intended for providing # |
| 191 | # continuous benchmarks of experimental features that cannot be turned on by # |
| 192 | # default yet. It is primarily intended for whoever is actively investigating # |
| 193 | # optimizations for a feature exemplified in a specific model or architecture. # |
| 194 | # Due to our current benchmark setup, there can only be one experimental # |
| 195 | # configuration per model and other benchmark mode. # |
| 196 | # # |
| 197 | ################################################################################ |
| 198 | |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 199 | # CPU, LLVM, local-sync, big/little-core, full-inference |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 200 | # NOTE: this is not enabling any SIMD extension beyond baseline Aarch64. |
| 201 | # At the moment we use that for fp32 models. We would change that when new |
| 202 | # devices support relevant fp32 SIMD extensions beyond that (e.g. +f32mm). |
| 203 | iree_benchmark_suite( |
| 204 | GROUP_NAME |
| 205 | "android-arm64-v8a" |
| 206 | |
| 207 | MODULES |
| 208 | "${DEEPLABV3_FP32_MODULE}" |
| 209 | "${MOBILESSD_FP32_MODULE}" |
| 210 | "${POSENET_FP32_MODULE}" |
| 211 | "${MOBILEBERT_FP32_MODULE}" |
| 212 | "${MOBILENET_V2_MODULE}" |
| 213 | "${MOBILENET_V3SMALL_MODULE}" |
| 214 | |
| 215 | BENCHMARK_MODES |
| 216 | "big-core,full-inference,experimental-flags" |
| 217 | "little-core,full-inference,experimental-flags" |
| 218 | TARGET_BACKEND |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 219 | "llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 220 | TARGET_ARCHITECTURE |
| 221 | "CPU-ARM64-v8A" |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 222 | COMPILATION_FLAGS |
| 223 | ${ANDROID_CPU_COMPILATION_FLAGS} |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 224 | "--iree-flow-mmt4d-target-options=arch=aarch64" |
| 225 | BENCHMARK_TOOL |
| 226 | iree-benchmark-module |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 227 | CONFIG |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 228 | "iree-llvm-cpu-sync" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 229 | DRIVER |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 230 | "local-sync" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 231 | ) |
| 232 | |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 233 | # CPU, LLVM, local-sync, big/little-core, full-inference, +dotprod |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 234 | # NOTE: +dotprod is only relevant to int8, not fp32. |
| 235 | # TODO: add a +i8mm variant, supported by new devices already. No rush: our i8mm |
| 236 | # kernel is currently naive, not ready for benchmarking. |
| 237 | iree_benchmark_suite( |
| 238 | GROUP_NAME |
| 239 | "android-arm64-v8a" |
| 240 | |
| 241 | MODULES |
| 242 | "${MOBILEBERT_INT8_MODULE}" |
| 243 | |
| 244 | BENCHMARK_MODES |
| 245 | "big-core,full-inference,experimental-flags" |
| 246 | "little-core,full-inference,experimental-flags" |
| 247 | TARGET_BACKEND |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 248 | "llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 249 | TARGET_ARCHITECTURE |
| 250 | "CPU-ARM64-v8A" |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 251 | COMPILATION_FLAGS |
| 252 | ${ANDROID_CPU_COMPILATION_FLAGS} |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 253 | "--iree-flow-mmt4d-target-options=arch=aarch64 features=+dotprod" |
| 254 | "--iree-llvm-target-cpu-features=+dotprod" |
| 255 | BENCHMARK_TOOL |
| 256 | iree-benchmark-module |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 257 | CONFIG |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 258 | "iree-llvm-cpu-sync" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 259 | DRIVER |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 260 | "local-sync" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 261 | ) |
| 262 | |
| 263 | # TODO(#7792): Consider re-enabling little-core experimental-flags if we start |
| 264 | # optimizing for little cores or we can just run them occasionally |
| 265 | |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 266 | # CPU, LLVM, local-task, 1 through 4 threads, big/little-core, full-inference. |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 267 | # NOTE: this is not enabling any SIMD extension beyond baseline Aarch64. |
| 268 | # At the moment we use that for fp32 models. We would change that when new |
| 269 | # devices support relevant fp32 SIMD extensions beyond that (e.g. f32mm). |
| 270 | iree_benchmark_suite( |
| 271 | GROUP_NAME |
| 272 | "android-arm64-v8a" |
| 273 | |
| 274 | MODULES |
| 275 | "${DEEPLABV3_FP32_MODULE}" |
| 276 | "${MOBILESSD_FP32_MODULE}" |
| 277 | "${POSENET_FP32_MODULE}" |
| 278 | "${MOBILEBERT_FP32_MODULE}" |
| 279 | "${MOBILENET_V2_MODULE}" |
| 280 | "${MOBILENET_V3SMALL_MODULE}" |
| 281 | |
| 282 | BENCHMARK_MODES |
| 283 | "1-thread,big-core,full-inference,experimental-flags" |
| 284 | # "1-thread,little-core,full-inference,experimental-flags" |
| 285 | TARGET_BACKEND |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 286 | "llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 287 | TARGET_ARCHITECTURE |
| 288 | "CPU-ARM64-v8A" |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 289 | COMPILATION_FLAGS |
| 290 | ${ANDROID_CPU_COMPILATION_FLAGS} |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 291 | "--iree-flow-mmt4d-target-options=arch=aarch64" |
| 292 | BENCHMARK_TOOL |
| 293 | iree-benchmark-module |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 294 | CONFIG |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 295 | "iree-llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 296 | DRIVER |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 297 | "local-task" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 298 | RUNTIME_FLAGS |
| 299 | "--task_topology_group_count=1" |
| 300 | ) |
| 301 | |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 302 | # CPU, LLVM, local-task, 1 through 4 threads, big/little-core, full-inference, +dotprod |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 303 | # NOTE: +dotprod is only relevant to int8, not fp32. |
| 304 | # TODO: add a +i8mm variant, supported by new devices already. No rush: our i8mm |
| 305 | # kernel is currently naive, not ready for benchmarking. |
| 306 | iree_benchmark_suite( |
| 307 | GROUP_NAME |
| 308 | "android-arm64-v8a" |
| 309 | |
| 310 | MODULES |
| 311 | "${MOBILEBERT_INT8_MODULE}" |
| 312 | |
| 313 | BENCHMARK_MODES |
| 314 | "1-thread,big-core,full-inference,experimental-flags" |
| 315 | # "1-thread,little-core,full-inference,experimental-flags" |
| 316 | TARGET_BACKEND |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 317 | "llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 318 | TARGET_ARCHITECTURE |
| 319 | "CPU-ARM64-v8A" |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 320 | COMPILATION_FLAGS |
| 321 | ${ANDROID_CPU_COMPILATION_FLAGS} |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 322 | "--iree-flow-mmt4d-target-options=arch=aarch64 features=+dotprod" |
| 323 | "--iree-llvm-target-cpu-features=+dotprod" |
| 324 | BENCHMARK_TOOL |
| 325 | iree-benchmark-module |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 326 | CONFIG |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 327 | "iree-llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 328 | DRIVER |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 329 | "local-task" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 330 | RUNTIME_FLAGS |
| 331 | "--task_topology_group_count=1" |
| 332 | ) |
| 333 | |
| 334 | # TODO(#7792): Re-enable these when we are able to run different benchmarks |
| 335 | # depending on use-case (presubmit, postsubmit, nightly, etc.) |
| 336 | # iree_benchmark_suite( |
| 337 | # GROUP_NAME |
| 338 | # "android-arm64-v8a" |
| 339 | # |
| 340 | # MODULES |
| 341 | # "${DEEPLABV3_FP32_MODULE}" |
| 342 | # "${MOBILESSD_FP32_MODULE}" |
| 343 | # "${POSENET_FP32_MODULE}" |
| 344 | # "${MOBILEBERT_FP32_MODULE}" |
| 345 | # "${MOBILENET_V2_MODULE}" |
| 346 | # "${MOBILENET_V3SMALL_MODULE}" |
| 347 | |
| 348 | # BENCHMARK_MODES |
| 349 | # "2-thread,big-core,full-inference,experimental-flags" |
| 350 | # "2-thread,little-core,full-inference,experimental-flags" |
| 351 | # TARGET_BACKEND |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 352 | # "llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 353 | # TARGET_ARCHITECTURE |
| 354 | # "CPU-ARM64-v8A" |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 355 | # COMPILATION_FLAGS |
| 356 | # ${ANDROID_CPU_COMPILATION_FLAGS} |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 357 | # "--iree-flow-mmt4d-target-options=arch=aarch64" |
| 358 | # BENCHMARK_TOOL |
| 359 | # iree-benchmark-module |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 360 | # CONFIG |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 361 | # "iree-llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 362 | # DRIVER |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 363 | # "local-task" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 364 | # RUNTIME_FLAGS |
| 365 | # "--task_topology_group_count=2" |
| 366 | # ) |
| 367 | |
| 368 | # iree_benchmark_suite( |
| 369 | # GROUP_NAME |
| 370 | # "android-arm64-v8a" |
| 371 | # |
| 372 | # MODULES |
| 373 | # "${DEEPLABV3_FP32_MODULE}" |
| 374 | # "${MOBILESSD_FP32_MODULE}" |
| 375 | # "${POSENET_FP32_MODULE}" |
| 376 | # "${MOBILEBERT_FP32_MODULE}" |
| 377 | # "${MOBILENET_V2_MODULE}" |
| 378 | # "${MOBILENET_V3SMALL_MODULE}" |
| 379 | |
| 380 | # BENCHMARK_MODES |
| 381 | # "3-thread,big-core,full-inference,experimental-flags" |
| 382 | # "3-thread,little-core,full-inference,experimental-flags" |
| 383 | # TARGET_BACKEND |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 384 | # "llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 385 | # TARGET_ARCHITECTURE |
| 386 | # "CPU-ARM64-v8A" |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 387 | # COMPILATION_FLAGS |
| 388 | # ${ANDROID_CPU_COMPILATION_FLAGS} |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 389 | # "--iree-flow-mmt4d-target-options=arch=aarch64" |
| 390 | # BENCHMARK_TOOL |
| 391 | # iree-benchmark-module |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 392 | # CONFIG |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 393 | # "iree-llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 394 | # DRIVER |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 395 | # "local-task" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 396 | # RUNTIME_FLAGS |
| 397 | # "--task_topology_group_count=3" |
| 398 | # ) |
| 399 | |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 400 | # CPU, LLVM, local-task, 1 through 4 threads, big/little-core, full-inference. |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 401 | # NOTE: this is not enabling any SIMD extension beyond baseline Aarch64. |
| 402 | # At the moment we use that for fp32 models. We would change that when new |
| 403 | # devices support relevant fp32 SIMD extensions beyond that (e.g. f32mm). |
| 404 | iree_benchmark_suite( |
| 405 | GROUP_NAME |
| 406 | "android-arm64-v8a" |
| 407 | |
| 408 | MODULES |
| 409 | "${DEEPLABV3_FP32_MODULE}" |
| 410 | "${MOBILESSD_FP32_MODULE}" |
| 411 | "${POSENET_FP32_MODULE}" |
| 412 | "${MOBILEBERT_FP32_MODULE}" |
| 413 | "${MOBILENET_V2_MODULE}" |
| 414 | "${MOBILENET_V3SMALL_MODULE}" |
| 415 | |
| 416 | BENCHMARK_MODES |
| 417 | "4-thread,big-core,full-inference,experimental-flags" |
| 418 | # "4-thread,little-core,full-inference,experimental-flags" |
| 419 | TARGET_BACKEND |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 420 | "llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 421 | TARGET_ARCHITECTURE |
| 422 | "CPU-ARM64-v8A" |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 423 | COMPILATION_FLAGS |
| 424 | ${ANDROID_CPU_COMPILATION_FLAGS} |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 425 | "--iree-flow-mmt4d-target-options=arch=aarch64" |
| 426 | |
| 427 | BENCHMARK_TOOL |
| 428 | iree-benchmark-module |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 429 | CONFIG |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 430 | "iree-llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 431 | DRIVER |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 432 | "local-task" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 433 | RUNTIME_FLAGS |
| 434 | "--task_topology_group_count=4" |
| 435 | ) |
| 436 | |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 437 | # CPU, LLVM, local-sync, big/little-core, full-inference, +dotprod |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 438 | # NOTE: +dotprod is only relevant to int8, not fp32. |
| 439 | # TODO: add a +i8mm variant, supported by new devices already. No rush: our i8mm |
| 440 | # kernel is currently naive, not ready for benchmarking. |
| 441 | iree_benchmark_suite( |
| 442 | GROUP_NAME |
| 443 | "android-arm64-v8a" |
| 444 | |
| 445 | MODULES |
| 446 | "${MOBILEBERT_INT8_MODULE}" |
| 447 | |
| 448 | BENCHMARK_MODES |
| 449 | "4-thread,big-core,full-inference,experimental-flags" |
| 450 | # "4-thread,little-core,full-inference,experimental-flags" |
| 451 | TARGET_BACKEND |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 452 | "llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 453 | TARGET_ARCHITECTURE |
| 454 | "CPU-ARM64-v8A" |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 455 | COMPILATION_FLAGS |
| 456 | ${ANDROID_CPU_COMPILATION_FLAGS} |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 457 | "--iree-flow-mmt4d-target-options=arch=aarch64 features=+dotprod" |
| 458 | "--iree-llvm-target-cpu-features=+dotprod" |
| 459 | |
| 460 | BENCHMARK_TOOL |
| 461 | iree-benchmark-module |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 462 | CONFIG |
Scott Todd | 9a96d00 | 2022-08-11 22:13:05 -0700 | [diff] [blame] | 463 | "iree-llvm-cpu" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 464 | DRIVER |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 465 | "local-task" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 466 | RUNTIME_FLAGS |
| 467 | "--task_topology_group_count=4" |
| 468 | ) |
| 469 | |
| 470 | # CPU, VMVX, 4-thread, big-core, full-inference |
| 471 | # VMVX is slow and we're not optimizing perf yet. Leaving in a single max-thread |
| 472 | # benchmark because it's useful to keep an eye on and helps disambiguate where a |
| 473 | # performance change may be coming from (e.g. if it's in vmvx as well, it's |
| 474 | # probably not a codegen issue). |
| 475 | iree_benchmark_suite( |
| 476 | GROUP_NAME |
| 477 | "android-arm64-v8a" |
| 478 | |
| 479 | MODULES |
| 480 | "${MOBILENET_V2_MODULE}" |
| 481 | "${MOBILENET_V3SMALL_MODULE}" |
| 482 | |
| 483 | BENCHMARK_MODES |
| 484 | "4-thread,big-core,full-inference,experimental-flags" |
| 485 | TARGET_BACKEND |
| 486 | "vmvx" |
| 487 | TARGET_ARCHITECTURE |
| 488 | "CPU-ARM64-v8A" |
Scott Todd | 33a7caa | 2022-06-10 10:47:10 -0700 | [diff] [blame] | 489 | COMPILATION_FLAGS |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 490 | "--iree-input-type=tosa" |
| 491 | BENCHMARK_TOOL |
| 492 | iree-benchmark-module |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 493 | CONFIG |
| 494 | "iree-vmvx" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 495 | DRIVER |
Ben Vanik | 33aa8b3 | 2022-06-07 11:06:15 -0700 | [diff] [blame] | 496 | "local-task" |
Jerry Wu | c59155f | 2022-06-01 23:46:18 +0000 | [diff] [blame] | 497 | RUNTIME_FLAGS |
| 498 | "--task_topology_group_count=4" |
| 499 | ) |
| 500 | |
| 501 | ################################################################################ |