| #!/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 |
| # |
| # Sets up `convperf` (https://github.com/nod-ai/convperf). |
| # |
| # `convperf` benchmarks convolution workloads on IREE and other backends such |
| # as libxsmm. IREE is included as a submodule. |
| # |
| # Usage: |
| # ./setup_convperf.sh \ |
| # <convperf repo dir> \ |
| # <convperf sha> |
| |
| set -xeuo pipefail |
| |
| export REPO_DIR="$1" |
| export REPO_SHA="$2" |
| |
| pushd "${REPO_DIR}" |
| |
| mkdir convperf |
| pushd convperf |
| git init |
| git fetch --depth 1 https://github.com/nod-ai/convperf.git "${REPO_SHA}" |
| git checkout "${REPO_SHA}" |
| git submodule update --init --recursive --jobs 8 --depth 1 |
| |
| # Checkout a specific commit. |
| git checkout "${REPO_SHA}" |
| |
| # Create virtual environment. |
| python3 -m venv convperf.venv |
| source convperf.venv/bin/activate |
| pip install -r requirements.txt |
| |
| # Since the root user clones the convperf repo, we update permissions so that a |
| # runner can access this repo, but we don't want to set the executable bit for |
| # non-executables because git tracks this, so we then restore any git-tracked |
| # changes. |
| chmod -R 777 . |
| git restore . |
| git submodule foreach --recursive git restore . |
| |
| popd # convperf |
| popd # "${REPO_DIR}" |