blob: 24fe568d12231bca9b53dc73e03add2fd392cc30 [file] [log] [blame] [edit]
#!/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