blob: 2e015f086736a25cb0206b28c519f2bebc8b631e [file] [log] [blame]
natashaknke81010a2021-08-30 15:14:10 -07001# 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 Zhange456fca2021-09-07 10:35:41 -040019set(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
natashaknke81010a2021-08-30 15:14:10 -070027set(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
35set(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
natashaknke81010a2021-08-30 15:14:10 -070043################################################################################
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
54iree_mlir_benchmark_suite(
55 MODULES
natashaknke81010a2021-08-30 15:14:10 -070056 ${DEEPLABV3_FP32_MODULE}
Lei Zhange456fca2021-09-07 10:35:41 -040057 ${MOBILESSD_FP32_MODULE}
58 ${POSENET_FP32_MODULE}
natashaknke81010a2021-08-30 15:14:10 -070059
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"
CindyLiueed04322021-09-29 18:25:49 +000073 "--iree-llvm-link-embedded=true"
natashaknke81010a2021-08-30 15:14:10 -070074 DRIVER
75 "dylib-sync"
76)
77
78# CPU, Dylib, 1-thread, big/little-core, full-inference
79iree_mlir_benchmark_suite(
80 MODULES
Lei Zhange456fca2021-09-07 10:35:41 -040081 ${DEEPLABV3_FP32_MODULE}
natashaknke81010a2021-08-30 15:14:10 -070082 ${MOBILESSD_FP32_MODULE}
83 ${POSENET_FP32_MODULE}
natashaknke81010a2021-08-30 15:14:10 -070084
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 Zhang5b4e3e42021-09-03 11:01:26 -0400104# GPU, Vulkan, Adreno, full-inference
105iree_mlir_benchmark_suite(
106 MODULES
Lei Zhang5b4e3e42021-09-03 11:01:26 -0400107 ${DEEPLABV3_FP32_MODULE}
Lei Zhange456fca2021-09-07 10:35:41 -0400108 ${MOBILESSD_FP32_MODULE}
109 ${POSENET_FP32_MODULE}
Lei Zhang5b4e3e42021-09-03 11:01:26 -0400110
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
natashaknke81010a2021-08-30 15:14:10 -0700127# GPU, Vulkan, Mali, full-inference
128iree_mlir_benchmark_suite(
129 MODULES
Lei Zhange456fca2021-09-07 10:35:41 -0400130 ${DEEPLABV3_FP32_MODULE}
natashaknke81010a2021-08-30 15:14:10 -0700131 ${MOBILESSD_FP32_MODULE}
132 ${POSENET_FP32_MODULE}
natashaknke81010a2021-08-30 15:14:10 -0700133
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
151iree_mlir_benchmark_suite(
152 MODULES
Lei Zhange456fca2021-09-07 10:35:41 -0400153 ${DEEPLABV3_FP32_MODULE}
natashaknke81010a2021-08-30 15:14:10 -0700154 ${MOBILESSD_FP32_MODULE}
155 ${POSENET_FP32_MODULE}
natashaknke81010a2021-08-30 15:14:10 -0700156
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)