natashaknk | e81010a | 2021-08-30 15:14:10 -0700 | [diff] [blame] | 1 | # Copyright 2021 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 | # # |
| 10 | # Benchmark models for Tosa # |
| 11 | # # |
| 12 | # Each module specification should be a list that contains the following # |
| 13 | # fields: MODULE_NAME, MODULE_TAGS, MLIR_SOURCE, ENTRY_FUNCTION, # |
| 14 | # FUNCTION_INPUTS. See iree_mlir_benchmark_suite definition for details about # |
| 15 | # these fields. # |
| 16 | # # |
| 17 | ################################################################################ |
| 18 | |
Lei Zhang | e456fca | 2021-09-07 10:35:41 -0400 | [diff] [blame] | 19 | set(DEEPLABV3_FP32_MODULE |
| 20 | "DeepLabV3" # MODULE_NAME |
| 21 | "fp32" # MODULE_TAGS |
| 22 | "https://storage.googleapis.com/iree-model-artifacts/DeepLabV3-2bcafb1.tar.gz" # MLIR_SOURCE |
| 23 | "main" # ENTRY_FUNCTION |
| 24 | "1x257x257x3xf32" # FUNCTION_INPUTS |
| 25 | ) |
| 26 | |
natashaknk | e81010a | 2021-08-30 15:14:10 -0700 | [diff] [blame] | 27 | set(MOBILESSD_FP32_MODULE |
| 28 | "MobileSSD" # MODULE_NAME |
| 29 | "fp32" # MODULE_TAGS |
| 30 | "https://storage.googleapis.com/iree-model-artifacts/MobileSSD-2bcafb1.tar.gz" # MLIR_SOURCE |
| 31 | "main" # ENTRY_FUNCTION |
| 32 | "1x320x320x3xf32" # FUNCTION_INPUTS |
| 33 | ) |
| 34 | |
| 35 | set(POSENET_FP32_MODULE |
| 36 | "PoseNet" # MODULE_NAME |
| 37 | "fp32" # MODULE_TAGS |
| 38 | "https://storage.googleapis.com/iree-model-artifacts/PoseNet-2bcafb1.tar.gz" # MLIR_SOURCE |
| 39 | "main" # ENTRY_FUNCTION |
| 40 | "1x353x257x3xf32" # FUNCTION_INPUTS |
| 41 | ) |
| 42 | |
natashaknk | e81010a | 2021-08-30 15:14:10 -0700 | [diff] [blame] | 43 | ################################################################################ |
| 44 | # # |
| 45 | # Common benchmark configurations # |
| 46 | # # |
| 47 | # Each suite benchmarks a list of modules with some specific configuration, # |
| 48 | # typically involving different translation/runtime flags and targeting # |
| 49 | # different IREE drivers and hardware architectures. # |
| 50 | # # |
| 51 | ################################################################################ |
| 52 | |
| 53 | # CPU, Dylib-Sync, big/little-core, full-inference |
| 54 | iree_mlir_benchmark_suite( |
| 55 | MODULES |
natashaknk | e81010a | 2021-08-30 15:14:10 -0700 | [diff] [blame] | 56 | ${DEEPLABV3_FP32_MODULE} |
Lei Zhang | e456fca | 2021-09-07 10:35:41 -0400 | [diff] [blame] | 57 | ${MOBILESSD_FP32_MODULE} |
| 58 | ${POSENET_FP32_MODULE} |
natashaknk | e81010a | 2021-08-30 15:14:10 -0700 | [diff] [blame] | 59 | |
| 60 | BENCHMARK_MODES |
| 61 | "big-core,full-inference" |
| 62 | "little-core,full-inference" |
| 63 | TARGET_BACKEND |
| 64 | "dylib-llvm-aot" |
| 65 | TARGET_ARCHITECTURE |
| 66 | "CPU-ARM64-v8A" |
| 67 | TRANSLATION_FLAGS |
| 68 | "--iree-input-type=tosa" |
| 69 | "--iree-llvm-target-triple=aarch64-none-linux-android29" |
| 70 | "--iree-flow-inline-constants-max-byte-length=2048" |
| 71 | #"--iree-flow-dispatch-formation-enable-operand-fusion" |
| 72 | "--iree-llvm-loop-unrolling=true" |
CindyLiu | eed0432 | 2021-09-29 18:25:49 +0000 | [diff] [blame^] | 73 | "--iree-llvm-link-embedded=true" |
natashaknk | e81010a | 2021-08-30 15:14:10 -0700 | [diff] [blame] | 74 | DRIVER |
| 75 | "dylib-sync" |
| 76 | ) |
| 77 | |
| 78 | # CPU, Dylib, 1-thread, big/little-core, full-inference |
| 79 | iree_mlir_benchmark_suite( |
| 80 | MODULES |
Lei Zhang | e456fca | 2021-09-07 10:35:41 -0400 | [diff] [blame] | 81 | ${DEEPLABV3_FP32_MODULE} |
natashaknk | e81010a | 2021-08-30 15:14:10 -0700 | [diff] [blame] | 82 | ${MOBILESSD_FP32_MODULE} |
| 83 | ${POSENET_FP32_MODULE} |
natashaknk | e81010a | 2021-08-30 15:14:10 -0700 | [diff] [blame] | 84 | |
| 85 | BENCHMARK_MODES |
| 86 | "1-thread,big-core,full-inference" |
| 87 | "1-thread,little-core,full-inference" |
| 88 | TARGET_BACKEND |
| 89 | "dylib-llvm-aot" |
| 90 | TARGET_ARCHITECTURE |
| 91 | "CPU-ARM64-v8A" |
| 92 | TRANSLATION_FLAGS |
| 93 | "--iree-input-type=tosa" |
| 94 | "--iree-llvm-target-triple=aarch64-none-linux-android29" |
| 95 | "--iree-flow-inline-constants-max-byte-length=2048" |
| 96 | #"--iree-flow-dispatch-formation-enable-operand-fusion" |
| 97 | "--iree-llvm-loop-unrolling=true" |
| 98 | DRIVER |
| 99 | "dylib" |
| 100 | RUNTIME_FLAGS |
| 101 | "--task_topology_group_count=1" |
| 102 | ) |
| 103 | |
Lei Zhang | 5b4e3e4 | 2021-09-03 11:01:26 -0400 | [diff] [blame] | 104 | # GPU, Vulkan, Adreno, full-inference |
| 105 | iree_mlir_benchmark_suite( |
| 106 | MODULES |
Lei Zhang | 5b4e3e4 | 2021-09-03 11:01:26 -0400 | [diff] [blame] | 107 | ${DEEPLABV3_FP32_MODULE} |
Lei Zhang | e456fca | 2021-09-07 10:35:41 -0400 | [diff] [blame] | 108 | ${MOBILESSD_FP32_MODULE} |
| 109 | ${POSENET_FP32_MODULE} |
Lei Zhang | 5b4e3e4 | 2021-09-03 11:01:26 -0400 | [diff] [blame] | 110 | |
| 111 | BENCHMARK_MODES |
| 112 | "full-inference" |
| 113 | TARGET_BACKEND |
| 114 | "vulkan-spirv" |
| 115 | TARGET_ARCHITECTURE |
| 116 | "GPU-Adreno" |
| 117 | TRANSLATION_FLAGS |
| 118 | "--iree-input-type=tosa" |
| 119 | "--iree-vulkan-target-triple=adreno-unknown-android11" |
| 120 | "--iree-flow-inline-constants-max-byte-length=2048" |
| 121 | #"--iree-flow-dispatch-formation-enable-operand-fusion" |
| 122 | "--iree-enable-fusion-with-reduction-ops" |
| 123 | DRIVER |
| 124 | "vulkan" |
| 125 | ) |
| 126 | |
natashaknk | e81010a | 2021-08-30 15:14:10 -0700 | [diff] [blame] | 127 | # GPU, Vulkan, Mali, full-inference |
| 128 | iree_mlir_benchmark_suite( |
| 129 | MODULES |
Lei Zhang | e456fca | 2021-09-07 10:35:41 -0400 | [diff] [blame] | 130 | ${DEEPLABV3_FP32_MODULE} |
natashaknk | e81010a | 2021-08-30 15:14:10 -0700 | [diff] [blame] | 131 | ${MOBILESSD_FP32_MODULE} |
| 132 | ${POSENET_FP32_MODULE} |
natashaknk | e81010a | 2021-08-30 15:14:10 -0700 | [diff] [blame] | 133 | |
| 134 | BENCHMARK_MODES |
| 135 | "full-inference" |
| 136 | TARGET_BACKEND |
| 137 | "vulkan-spirv" |
| 138 | TARGET_ARCHITECTURE |
| 139 | "GPU-Mali-Valhall" |
| 140 | TRANSLATION_FLAGS |
| 141 | "--iree-input-type=tosa" |
| 142 | "--iree-vulkan-target-triple=valhall-unknown-android11" |
| 143 | "--iree-flow-inline-constants-max-byte-length=16" |
| 144 | #"--iree-flow-dispatch-formation-enable-operand-fusion" |
| 145 | "--iree-enable-fusion-with-reduction-ops" |
| 146 | DRIVER |
| 147 | "vulkan" |
| 148 | ) |
| 149 | |
| 150 | # GPU, Vulkan, Mali, kernel-execution |
| 151 | iree_mlir_benchmark_suite( |
| 152 | MODULES |
Lei Zhang | e456fca | 2021-09-07 10:35:41 -0400 | [diff] [blame] | 153 | ${DEEPLABV3_FP32_MODULE} |
natashaknk | e81010a | 2021-08-30 15:14:10 -0700 | [diff] [blame] | 154 | ${MOBILESSD_FP32_MODULE} |
| 155 | ${POSENET_FP32_MODULE} |
natashaknk | e81010a | 2021-08-30 15:14:10 -0700 | [diff] [blame] | 156 | |
| 157 | BENCHMARK_MODES |
| 158 | "kernel-execution" |
| 159 | TARGET_BACKEND |
| 160 | "vulkan-spirv" |
| 161 | TARGET_ARCHITECTURE |
| 162 | "GPU-Mali-Valhall" |
| 163 | TRANSLATION_FLAGS |
| 164 | "--iree-input-type=tosa" |
| 165 | "--iree-vulkan-target-triple=valhall-unknown-android11" |
| 166 | "--iree-flow-inline-constants-max-byte-length=16" |
| 167 | #"--iree-flow-dispatch-formation-enable-operand-fusion" |
| 168 | "--iree-enable-fusion-with-reduction-ops" |
| 169 | "--iree-hal-benchmark-dispatch-repeat-count=32" |
| 170 | DRIVER |
| 171 | "vulkan" |
| 172 | RUNTIME_FLAGS |
| 173 | "--batch_size=32" |
| 174 | ) |