| #!/bin/bash | |
| # Copyright 2022 The IREE Authors | |
| # | |
| # Licensed under the Apache License v2.0 with LLVM Exceptions. | |
| # See https://llvm.org/LICENSE.txt for license information. | |
| # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
| # Run native benchmarks to compare with WebAssembly. | |
| # | |
| # Sample usage (after generate_web_metrics.sh): | |
| # run_native_benchmarks.sh /tmp/iree/web_metrics/ | |
| set -euo pipefail | |
| TARGET_DIR="$1" | |
| if [[ -z "$TARGET_DIR" ]]; then | |
| >&2 echo "ERROR: Expected target directory (e.g. /tmp/iree/web_metrics/)" | |
| exit 1 | |
| fi | |
| echo "Working in directory '$TARGET_DIR'" | |
| mkdir -p "${TARGET_DIR}" | |
| cd "${TARGET_DIR}" | |
| ############################################################################### | |
| # Run benchmarks # | |
| ############################################################################### | |
| # Either build from source (setting this path), or use from the python packages. | |
| # IREE_BENCHMARK_MODULE_PATH=~/code/iree-build/tools/iree-benchmark-module | |
| # IREE_BENCHMARK_MODULE_PATH="D:\dev\projects\iree-build\tools\iree-benchmark-module" | |
| IREE_BENCHMARK_MODULE_PATH=iree-benchmark-module | |
| echo "Benchmarking DeepLabV3..." | |
| "${IREE_BENCHMARK_MODULE_PATH?}" \ | |
| --module=./deeplabv3_native.vmfb \ | |
| --device=local-task \ | |
| --task_topology_group_count=1 \ | |
| --function=main \ | |
| --input=1x257x257x3xf32 \ | |
| --benchmark_min_time=3 | |
| echo "" | |
| echo "Benchmarking MobileSSD..." | |
| "${IREE_BENCHMARK_MODULE_PATH?}" \ | |
| --module=./mobile_ssd_v2_float_coco_native.vmfb \ | |
| --device=local-task \ | |
| --task_topology_group_count=1 \ | |
| --function=main \ | |
| --input=1x320x320x3xf32 \ | |
| --benchmark_min_time=3 | |
| echo "" | |
| echo "Benchmarking PoseNet..." | |
| "${IREE_BENCHMARK_MODULE_PATH?}" \ | |
| --module=./posenet_native.vmfb \ | |
| --device=local-task \ | |
| --task_topology_group_count=1 \ | |
| --function=main \ | |
| --input=1x353x257x3xf32 \ | |
| --benchmark_min_time=3 | |
| echo "" | |
| echo "Benchmarking MobileBertSquad..." | |
| "${IREE_BENCHMARK_MODULE_PATH?}" \ | |
| --module=./mobilebertsquad_native.vmfb \ | |
| --device=local-task \ | |
| --task_topology_group_count=1 \ | |
| --function=main \ | |
| --input=1x384xi32 \ | |
| --input=1x384xi32 \ | |
| --input=1x384xi32 \ | |
| --benchmark_min_time=10 | |
| echo "" | |
| echo "Benchmarking MobileNetV2..." | |
| "${IREE_BENCHMARK_MODULE_PATH?}" \ | |
| --module=./mobilenet_v2_1.0_224_native.vmfb \ | |
| --device=local-task \ | |
| --task_topology_group_count=1 \ | |
| --function=main \ | |
| --input=1x224x224x3xf32 \ | |
| --benchmark_min_time=3 | |
| echo "" | |
| echo "Benchmarking MobileNetV3Small..." | |
| "${IREE_BENCHMARK_MODULE_PATH?}" \ | |
| --module=./MobileNetV3SmallStaticBatch_native.vmfb \ | |
| --device=local-task \ | |
| --task_topology_group_count=1 \ | |
| --function=main \ | |
| --input=1x224x224x3xf32 \ | |
| --benchmark_min_time=3 |