Drop convperf and mmperf Dockerfiles and workflows. (#14903)
These comparative benchmarking efforts are being migrated to
https://github.com/openxla/openxla-benchmark.
The workflows have also been silently skipped since
https://github.com/openxla/iree/commit/8ae0f520cbc9d52b795032dd687f11438f0cdfe0:
* https://github.com/openxla/iree/actions/workflows/run_mmperf.yml
* https://github.com/openxla/iree/actions/workflows/run_convperf.yml
(There have been some discussions about migrating Dockerfiles to a new
build structure and repository like
https://github.com/nod-ai/base-docker-images, so I'd like to prune
unused Dockerfiles ahead of that if possible)
diff --git a/.github/workflows/run_convperf.yml b/.github/workflows/run_convperf.yml
deleted file mode 100644
index 4694b86..0000000
--- a/.github/workflows/run_convperf.yml
+++ /dev/null
@@ -1,95 +0,0 @@
-# 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
-#
-# Workflow for running `convperf` (https://github.com/nod-ai/convperf).
-# `convperf` benchmarks convolution workloads on IREE and other backends such
-# as `libsxmm`, etc.
-#
-# The workflow runs benchmarks on CPU and uploads results to the
-# `convperf-benchmark-artifacts` GC bucket.
-
-name: convperf
-
-on:
- schedule:
- - cron: '0 16 * * *'
- workflow_dispatch:
-
-concurrency:
- # A PR number if a pull request and otherwise the commit hash. This cancels
- # queued and in-progress runs for the same PR (presubmit) or commit
- # (postsubmit). The workflow name is prepended to avoid conflicts between
- # different workflows.
- group: ${{ github.workflow }}-${{ github.event.number || github.sha }}
- cancel-in-progress: true
-
-env:
- GCS_DIR: gs://iree-github-actions-${{ github.event_name == 'pull_request' && 'presubmit' || 'postsubmit' }}-artifacts/${{ github.run_id }}/${{ github.run_attempt }}
-
-jobs:
- setup:
- runs-on: ubuntu-20.04
- env:
- # The commit being checked out is the merge commit for the PR. Its first
- # parent will be the tip of main.
- BASE_REF: HEAD^
- PR_TITLE: ${{ github.event.pull_request.title }}
- PR_BODY: ${{ github.event.pull_request.body }}
- IREE_SHA: ${{ github.sha }}
- outputs:
- artifact-upload-dir: ${{ steps.iree.outputs.artifact-upload-dir }}
- should-run: ${{ steps.configure.outputs.should-run }}
- runner-env: ${{ steps.configure.outputs.runner-env }}
- runner-group: ${{ steps.configure.outputs.runner-group }}
- steps:
- - name: "Checking out repository"
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0
- with:
- # We need the parent commit to do a diff
- fetch-depth: 2
- - name: "Configuring CI options"
- id: configure
- run: |
- # Just informative logging. There should only be two commits in the
- # history here, but limiting the depth helps when copying from a local
- # repo instead of using checkout, e.g. with
- # https://github.com/nektos/act where there will be more.
- git log --oneline --graph --max-count=3
- ./build_tools/github_actions/configure_ci.py
- - name: "Calculating version info"
- id: iree
- run: |
- export GCS_ARTIFACT_DIR="$(date +'%Y-%m-%d').sha_${IREE_SHA}.timestamp_$(date +'%s')"
- echo "artifact-upload-dir=${GCS_ARTIFACT_DIR}" >> $GITHUB_OUTPUT
-
- build_and_benchmark_cpu:
- needs: setup
- if: needs.setup.outputs.should-run == 'true'
- runs-on:
- - self-hosted # must come first
- - runner-group=${{ needs.setup.outputs.runner-group }}
- - environment=${{ needs.setup.outputs.runner-env }}
- - cpu
- - os-family=Linux
- env:
- IREE_SHA: ${{ github.sha }}
- BUILD_DIR: convperf-build
- RESULTS_DIR: convperf-results
- GCS_UPLOAD_PARENT_DIR: "gs://convperf-benchmark-artifacts/cpu"
- GCS_UPLOAD_DIR_NAME: ${{ needs.setup.outputs.artifact-upload-dir }}
- steps:
- - name: "Checking out repository"
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0
- - name: "Running convperf for CPU"
- run: |
- mkdir ${RESULTS_DIR}
- ./build_tools/github_actions/docker_run.sh \
- gcr.io/iree-oss/convperf@sha256:8e242ad71896a791c9be53b0906b7c8e96a2d3bad3f7431622cc797a6f89ba0f \
- ./build_tools/benchmarks/convperf/build_and_run_convperf.sh "${BUILD_DIR}" "${RESULTS_DIR}" "${IREE_SHA}"
- - name: "Uploading results"
- run: |
- gcloud storage cp "${RESULTS_DIR}/**" "${GCS_UPLOAD_PARENT_DIR}/${GCS_UPLOAD_DIR_NAME}/"
- gcloud storage cp "${RESULTS_DIR}/**" "${GCS_UPLOAD_PARENT_DIR}/latest/"
diff --git a/.github/workflows/run_mmperf.yml b/.github/workflows/run_mmperf.yml
deleted file mode 100644
index 1e9efad..0000000
--- a/.github/workflows/run_mmperf.yml
+++ /dev/null
@@ -1,182 +0,0 @@
-# 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
-#
-# Workflow for running `mmperf` (https://github.com/mmperf/mmperf).
-# `mmperf` benchmarks matrix-multiply workloads on IREE and other backends such
-# as RUY, TVM, Halide, CuBLAS, etc.
-#
-# The workflow runs benchmarks on CPU and GPU and uploads results to the
-# `mmperf-benchmark-artifacts` GC bucket.
-
-name: mmperf
-
-on:
- schedule:
- - cron: '0 13 * * *'
- workflow_dispatch:
-
-concurrency:
- # A PR number if a pull request and otherwise the commit hash. This cancels
- # queued and in-progress runs for the same PR (presubmit) or commit
- # (postsubmit). The workflow name is prepended to avoid conflicts between
- # different workflows.
- group: ${{ github.workflow }}-${{ github.event.number || github.sha }}
- cancel-in-progress: true
-
-env:
- GCS_DIR: gs://iree-github-actions-${{ github.event_name == 'pull_request' && 'presubmit' || 'postsubmit' }}-artifacts/${{ github.run_id }}/${{ github.run_attempt }}
-
-jobs:
- setup:
- runs-on: ubuntu-20.04
- env:
- # The commit being checked out is the merge commit for the PR. Its first
- # parent will be the tip of main.
- BASE_REF: HEAD^
- PR_TITLE: ${{ github.event.pull_request.title }}
- PR_BODY: ${{ github.event.pull_request.body }}
- IREE_SHA: ${{ github.sha }}
- outputs:
- artifact-upload-dir: ${{ steps.iree.outputs.artifact-upload-dir }}
- should-run: ${{ steps.configure.outputs.should-run }}
- runner-env: ${{ steps.configure.outputs.runner-env }}
- runner-group: ${{ steps.configure.outputs.runner-group }}
- steps:
- - name: "Checking out repository"
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0
- with:
- # We need the parent commit to do a diff
- fetch-depth: 2
- - name: "Configuring CI options"
- id: configure
- run: |
- # Just informative logging. There should only be two commits in the
- # history here, but limiting the depth helps when copying from a local
- # repo instead of using checkout, e.g. with
- # https://github.com/nektos/act where there will be more.
- git log --oneline --graph --max-count=3
- ./build_tools/github_actions/configure_ci.py
- - name: "Calculating version info"
- id: iree
- run: |
- export GCS_ARTIFACT_DIR="$(date +'%Y-%m-%d').sha_${IREE_SHA}.timestamp_$(date +'%s')"
- echo "artifact-upload-dir=${GCS_ARTIFACT_DIR}" >> $GITHUB_OUTPUT
-
- build_and_benchmark_cpu:
- needs: setup
- if: needs.setup.outputs.should-run == 'true'
- runs-on:
- - self-hosted # must come first
- - runner-group=${{ needs.setup.outputs.runner-group }}
- - environment=${{ needs.setup.outputs.runner-env }}
- - cpu
- - os-family=Linux
- env:
- IREE_SHA: ${{ github.sha }}
- BUILD_DIR: mmperf-build-cpu
- RESULTS_DIR: mmperf-results-cpu
- GCS_UPLOAD_PARENT_DIR: "gs://mmperf-benchmark-artifacts/cpu"
- GCS_UPLOAD_DIR_NAME: ${{ needs.setup.outputs.artifact-upload-dir }}
- steps:
- - name: "Checking out repository"
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0
- - name: "Building mmperf for CPU"
- run: |
- ./build_tools/github_actions/docker_run.sh \
- gcr.io/iree-oss/mmperf@sha256:dfeebcaf8f417275d44c7b8d9a1360c6a26d280b526779c9e64384798cfd9c92 \
- ./build_tools/benchmarks/mmperf/build_mmperf.sh "${BUILD_DIR}" "cpu" "${IREE_SHA}"
- - name: "Running mmperf on CPU"
- run: |
- mkdir ${RESULTS_DIR}
- ./build_tools/github_actions/docker_run.sh \
- gcr.io/iree-oss/mmperf@sha256:dfeebcaf8f417275d44c7b8d9a1360c6a26d280b526779c9e64384798cfd9c92 \
- ./build_tools/benchmarks/mmperf/run_mmperf.sh "${BUILD_DIR}" "${RESULTS_DIR}"
- - name: "Uploading results"
- run: |
- gcloud storage cp "${RESULTS_DIR}/latest/**" "${GCS_UPLOAD_PARENT_DIR}/${GCS_UPLOAD_DIR_NAME}/"
- gcloud storage cp "${RESULTS_DIR}/latest/matmul.png" "${GCS_UPLOAD_PARENT_DIR}/matmul.png"
-
- build_cuda:
- needs: setup
- if: needs.setup.outputs.should-run == 'true'
- runs-on:
- - self-hosted # must come first
- - runner-group=${{ needs.setup.outputs.runner-group }}
- - environment=${{ needs.setup.outputs.runner-env }}
- - cpu
- - os-family=Linux
- env:
- IREE_SHA: ${{ github.sha }}
- BUILD_DIR: mmperf-build-cuda
- outputs:
- build-dir: ${{ env.BUILD_DIR }}
- build-dir-archive: ${{ steps.archive.outputs.build-dir-archive }}
- build-dir-gcs-artifact: ${{ steps.upload.outputs.build-dir-gcs-artifact }}
- steps:
- - name: "Checking out repository"
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0
- - name: "Building mmperf for CUDA"
- run: |
- ./build_tools/github_actions/docker_run.sh \
- gcr.io/iree-oss/mmperf@sha256:dfeebcaf8f417275d44c7b8d9a1360c6a26d280b526779c9e64384798cfd9c92 \
- ./build_tools/benchmarks/mmperf/build_mmperf.sh "${BUILD_DIR}" "cuda" "${IREE_SHA}"
- - name: "Removing unused files"
- run: |
- find "${BUILD_DIR}" -type f -name "*.a" -o -type f -name "*.o" \
- -print \
- -delete
- - name: "Creating build dir archive"
- id: archive
- env:
- BUILD_DIR_ARCHIVE: ${{ env.BUILD_DIR }}.tar.zst
- run: |
- tar -I 'zstd -T0' \
- -cf ${BUILD_DIR_ARCHIVE} ${BUILD_DIR}
- echo "build-dir-archive=${BUILD_DIR_ARCHIVE}" >> "${GITHUB_OUTPUT}"
- - name: "Uploading build dir archive"
- id: upload
- env:
- BUILD_DIR_ARCHIVE: ${{ steps.archive.outputs.build-dir-archive }}
- BUILD_DIR_GCS_ARTIFACT: ${{ env.GCS_DIR }}/${{ steps.archive.outputs.build-dir-archive }}
- run: |
- gcloud storage cp "${BUILD_DIR_ARCHIVE}" "${BUILD_DIR_GCS_ARTIFACT}"
- echo "build-dir-gcs-artifact=${BUILD_DIR_GCS_ARTIFACT}" >> "${GITHUB_OUTPUT}"
-
- benchmark_cuda:
- needs: [setup, build_cuda]
- if: needs.setup.outputs.should-run == 'true'
- runs-on:
- - self-hosted # must come first
- - runner-group=${{ needs.setup.outputs.runner-group }}
- - environment=${{ needs.setup.outputs.runner-env }}
- - machine-type=a2-highgpu-1g
- - os-family=Linux
- env:
- RESULTS_DIR: mmperf-results-cuda
- GCS_UPLOAD_PARENT_DIR: "gs://mmperf-benchmark-artifacts/cuda"
- GCS_UPLOAD_DIR_NAME: ${{ needs.setup.outputs.artifact-upload-dir }}
- BUILD_DIR: ${{ needs.build_cuda.outputs.build-dir }}
- BUILD_DIR_ARCHIVE: ${{ needs.build_cuda.outputs.build-dir-archive }}
- BUILD_DIR_GCS_ARTIFACT: ${{ needs.build_cuda.outputs.build-dir-gcs-artifact }}
- steps:
- - name: "Checking out repository"
- uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0
- - name: "Downloading build dir archive"
- run: gcloud storage cp "${BUILD_DIR_GCS_ARTIFACT}" "${BUILD_DIR_ARCHIVE}"
- - name: "Extracting build dir archive"
- run: tar -xf "${BUILD_DIR_ARCHIVE}"
- - name: "Running mmperf on CUDA"
- run: |
- mkdir ${RESULTS_DIR}
- ./build_tools/github_actions/docker_run.sh \
- --gpus all \
- gcr.io/iree-oss/mmperf@sha256:dfeebcaf8f417275d44c7b8d9a1360c6a26d280b526779c9e64384798cfd9c92 \
- ./build_tools/benchmarks/mmperf/run_mmperf.sh "${BUILD_DIR}" "${RESULTS_DIR}"
- - name: "Uploading results"
- run: |
- export GCS_DIR_NAME="$(date +'%Y-%m-%d').$(date +'%s')"
- gcloud storage cp "${RESULTS_DIR}/latest/**" "${GCS_UPLOAD_PARENT_DIR}/${GCS_UPLOAD_DIR_NAME}/"
- gcloud storage cp "${RESULTS_DIR}/latest/matmul.png" "${GCS_UPLOAD_PARENT_DIR}/matmul.png"
diff --git a/build_tools/benchmarks/convperf/build_and_run_convperf.sh b/build_tools/benchmarks/convperf/build_and_run_convperf.sh
deleted file mode 100755
index efc6cd7..0000000
--- a/build_tools/benchmarks/convperf/build_and_run_convperf.sh
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/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.
-#
-# Currently x86 CPU is supported.
-#
-# Usage:
-# ./build_and_run_convperf.sh \
-# <convperf build dir> \
-# <convperf results dir> \
-# <iree commit branch or sha> \
-# <convperf repo dir> (optional)
-
-set -xeuo pipefail
-
-export BUILD_DIR=$1
-export RESULTS_DIR=$2
-export IREE_COMMIT=${3:-"origin/main"}
-export REPO_DIR=${4:-"${CONVPERF_REPO_DIR}"}
-
-pushd ${REPO_DIR}
-source convperf.venv/bin/activate
-
-# Set all repos as a safe directory. Since this repo was created in the
-# Dockerfile under `root`, git will not run commands on this repo as a
-# non-root user unless it is marked safe.
-for i in $(find "${REPO_DIR}" -name '.git' | xargs dirname); do
- git config --global --add safe.directory $i
-done
-
-# Update IREE.
-pushd external/iree
-git fetch https://github.com/openxla/iree "${IREE_COMMIT}"
-git checkout "${IREE_COMMIT}"
-git submodule update --init --jobs 8 --depth 1
-popd # external/iree
-
-popd # ${REPO_DIR}
-
-# Build ConvPerf.
-cmake -GNinja \
- -DCMAKE_C_COMPILER="${CC:-clang}" \
- -DCMAKE_CXX_COMPILER="${CXX:-clang++}" \
- -B "${BUILD_DIR}" "${REPO_DIR}"
-cmake --build "${BUILD_DIR}"
-
-# Run ConvPerf for several threading configurations.
-declare -a threads=( 1 2 4 8 16 )
-
-for i in "${threads[@]}"; do
- python3 "${REPO_DIR}/convperf.py" \
- --benchmark_tool "${BUILD_DIR}/tools/benchmark_conv" \
- --runners iree,xsmm \
- --benchmark_sizes \
- "${REPO_DIR}/benchmark_sizes/resnet50.json" \
- --num_threads="$i"
-
- python "${REPO_DIR}/convperf.py" --visualize --runtimes_file runtimes.json
- mv runtimes.json "${RESULTS_DIR}/resnet50_thread$i.json"
- mv convs.png "${RESULTS_DIR}/resnet50_thread$i.png"
-done
diff --git a/build_tools/benchmarks/mmperf/build_mmperf.sh b/build_tools/benchmarks/mmperf/build_mmperf.sh
deleted file mode 100755
index 1039fa5..0000000
--- a/build_tools/benchmarks/mmperf/build_mmperf.sh
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/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
-#
-# Builds `mmperf` (https://github.com/mmperf/mmperf).
-#
-# `mmperf` benchmarks matrix-multiply workloads on IREE and other backends such
-# as RUY, TVM, Halide, CuBLAS, etc. Some backends are included as submodules
-# in the `mmperf` repo and built from source, and other backends are expected
-# to already be installed.
-#
-# Please refer to `build_tools/docker/dockerfiles/mmperf.Dockerfile` for commands on
-# installing various backends.
-#
-# Currently x86 CPU and CUDA are supported.
-#
-# Usage:
-# ./build_mmperf.sh \
-# <mmperf build dir> \
-# <backend> e.g. "cpu", "cuda". \
-# <iree sha> (optional) \
-# <mmperf repo dir> (optional)
-
-set -xeuo pipefail
-
-export BUILD_DIR=$1
-# Either `cpu` or `cuda`.
-export BACKEND=$2
-export IREE_SHA=${3:-"origin/main"}
-export REPO_DIR=${4:-${MMPERF_REPO_DIR}}
-
-pushd ${REPO_DIR}
-source mmperf.venv/bin/activate
-
-# Set all repos as a safe directory. Since this repo was created in the
-# DockerFile under `root`, git will not run commands on this repo as a
-# non-root user unless it is marked safe.
-for i in $(find ${REPO_DIR} -name '.git' | xargs dirname); do
- git config --global --add safe.directory $i
-done
-
-# Update IREE.
-pushd external/iree
-git fetch https://github.com/openxla/iree "${IREE_SHA}"
-git checkout "${IREE_SHA}"
-git submodule update --init --jobs 8 --depth 1
-popd # external/iree
-
-popd # ${REPO_DIR}
-
-# Build mmperf.
-declare -a args=(
- -GNinja
- -DCMAKE_CXX_COMPILER=/usr/bin/clang++
- -DCMAKE_C_COMPILER=/usr/bin/clang
- -DUSE_IREE=ON
-)
-
-if [[ ${BACKEND} == "cuda" ]]; then
- args+=(
- -DIREE_CUDA=ON
- -DUSE_CUBLAS=ON
- )
- cmake "${args[@]}" -B ${BUILD_DIR} ${REPO_DIR}
-elif [[ ${BACKEND} == "cpu" ]]; then
- args+=(
- -DMKL_DIR=/opt/intel/mkl
- -DBLIS_DIR=/opt/blis
- -DUSE_MKL=ON
- -DUSE_RUY=ON
- -DIREE_LLVMCPU=ON
- -DUSE_HALIDE=ON
- -DUSE_OPENBLAS=ON
- -DUSE_BLIS=ON
- -DUSE_TVM=ON
- )
- MKL_DIR=${MKL_DIR} BLIS_DIR=${BLIS_DIR} cmake "${args[@]}" -B ${BUILD_DIR} ${REPO_DIR}
-else
- echo "Error: Unsupported backend."
- exit 1
-fi
-
-cmake --build ${BUILD_DIR} --verbose
diff --git a/build_tools/benchmarks/mmperf/run_mmperf.sh b/build_tools/benchmarks/mmperf/run_mmperf.sh
deleted file mode 100755
index 43d3961..0000000
--- a/build_tools/benchmarks/mmperf/run_mmperf.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/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
-#
-# Runs `mmperf` (https://github.com/mmperf/mmperf).
-#
-# `mmperf` benchmarks matrix-multiply workloads on IREE and other backends such
-# as RUY, TVM, Halide, CuBLAS, etc. Some backends are included as submodules
-# in the `mmperf` repo and built from source, and other backends are expected
-# to already be installed.
-#
-# Please refer to `build_tools/docker/mmperf/Dockerfile` for commands on
-# installing various backends.
-#
-# Usage:
-# ./run_mmperf.sh \
-# <mmperf build dir> \
-# <results directory> \
-# <mmperf repo dir> (optional)
-
-set -xeuo pipefail
-
-export BUILD_DIR=$1
-export REPORT_DIR=$2
-export REPO_DIR=${3:-${MMPERF_REPO_DIR}}
-
-source ${REPO_DIR}/mmperf.venv/bin/activate
-
-# Run benchmark.
-python3 ${REPO_DIR}/mmperf.py ${BUILD_DIR}/matmul/ ${REPORT_DIR}
diff --git a/build_tools/docker/context/setup_convperf.sh b/build_tools/docker/context/setup_convperf.sh
deleted file mode 100755
index bef9c84..0000000
--- a/build_tools/docker/context/setup_convperf.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/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}"
diff --git a/build_tools/docker/context/setup_mmperf.sh b/build_tools/docker/context/setup_mmperf.sh
deleted file mode 100755
index fcf3652..0000000
--- a/build_tools/docker/context/setup_mmperf.sh
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/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 `mmperf` (https://github.com/mmperf/mmperf).
-#
-# `mmperf` benchmarks matrix-multiply workloads on IREE and other backends such
-# as RUY, TVM, Halide, CuBLAS, etc. Some backends are included as submodules
-# in the `mmperf` repo and built from source, and other backends are expected
-# to already be installed.
-#
-# Usage:
-# ./setup_mmperf.sh \
-# <mmperf repo dir> \
-# <mmperf sha>
-
-set -xeuo pipefail
-
-export REPO_DIR=$1
-export REPO_SHA=$2
-
-pushd ${REPO_DIR}
-
-mkdir mmperf
-pushd mmperf
-git init
-git fetch --depth 1 https://github.com/mmperf/mmperf.git "${REPO_SHA}"
-git checkout ${REPO_SHA}
-git submodule update --init --recursive --jobs 8 --depth 1
-
-# Create virtual environment.
-python3 -m venv mmperf.venv
-source mmperf.venv/bin/activate
-pip install -r requirements.txt
-pip install -r ./external/llvm-project/mlir/python/requirements.txt
-
-popd # mmperf
-
-# Since the root user clones the mmperf repo, we update permissions so that a
-# runner can access this repo.
-chmod -R 777 .
-
-# Make sure there are no local changes to the IREE submodule since the workflow
-# updates this at each run.
-pushd mmperf/external/iree
-git restore .
-git submodule foreach --recursive git restore .
-popd # mmperf/external/iree
-
-popd # ${REPO_DIR}
diff --git a/build_tools/docker/dockerfiles/convperf.Dockerfile b/build_tools/docker/dockerfiles/convperf.Dockerfile
deleted file mode 100644
index e94612e..0000000
--- a/build_tools/docker/dockerfiles/convperf.Dockerfile
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2021 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
-
-# An image for running `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.
-
-FROM gcr.io/iree-oss/perf@sha256:0e1c92dde6ec7312c7c92a8ee329892ad83bae4b7968e4f2c98f99ffad3faa48
-
-######## OpenMP ########
-RUN apt-get update \
- && apt-get install -y libomp-14-dev
-##############
-
-######## ConvPerf ########
-COPY build_tools/docker/context/setup_convperf.sh /usr/local/bin
-
-ARG CONVPERF_SHA="ca181bf9f1b959477acf8043eb5b5579fc47a37f"
-
-# Generate a version of mmperf for CPU.
-RUN mkdir -p "/usr/local/src/convperf" \
- && /usr/local/bin/setup_convperf.sh "/usr/local/src/convperf" "${CONVPERF_SHA}"
-
-ENV CONVPERF_REPO_DIR="/usr/local/src/convperf/convperf"
-############## \
diff --git a/build_tools/docker/dockerfiles/mmperf.Dockerfile b/build_tools/docker/dockerfiles/mmperf.Dockerfile
deleted file mode 100644
index 37535a9..0000000
--- a/build_tools/docker/dockerfiles/mmperf.Dockerfile
+++ /dev/null
@@ -1,71 +0,0 @@
-# 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
-
-# An image for running mmperf: https://github.com/mmperf/mmperf.
-#
-# mmperf benchmarks matrix-multiplication workloads on IREE and various backends
-# such as OpenBLAS, MKL, TVM, Halide, CuBLAS, etc.
-#
-# These backends are included either in this image or as a submodule in the
-# mmperf repo. Later versions of Clang, LLVM, Python and Ubuntu are needed
-# to satisfy the dependency requirements of the backends.
-
-FROM gcr.io/iree-oss/perf@sha256:0e1c92dde6ec7312c7c92a8ee329892ad83bae4b7968e4f2c98f99ffad3faa48
-
-######## CUDA ########
-RUN apt-get update \
- && apt-get install -y \
- nvidia-cuda-toolkit \
- && mkdir -p "/usr/nvvm/libdevice" \
- && ln -s "/usr/lib/nvidia-cuda-toolkit/libdevice/libdevice.10.bc" "/usr/nvvm/libdevice/libdevice.10.bc"
-##############
-
-######## MKL ########
-WORKDIR /install-mkl
-
-RUN wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB \
- && apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2019.PUB \
- && sh -c 'echo deb https://apt.repos.intel.com/mkl all main > /etc/apt/sources.list.d/intel-mkl.list' \
- && apt-get update \
- && apt-get install -y intel-mkl-64bit-2018.2-046 \
- && rm -rf /install-mkl
-
-WORKDIR /
-
-ENV MKL_DIR="/opt/intel/mkl"
-##############
-
-######## OPENBLAS ########
-RUN apt-get update \
- && apt-get install -y libopenblas-dev
-##############
-
-######## BLIS ########
-WORKDIR /install-blis
-
-RUN git clone --recurse-submodules https://github.com/flame/blis \
- && cd blis \
- && ./configure --prefix=/opt/blis --enable-cblas -c amd64 \
- && make -j 32 \
- && make install \
- && rm -rf /install-blis
-
-WORKDIR /
-
-ENV BLIS_DIR="/opt/blis"
-##############
-
-######## MMPERF ########
-COPY build_tools/docker/context/setup_mmperf.sh /usr/local/bin
-
-ARG MMPERF_SHA="1ebd6b9a72745e88b855c44d7320a92c83508f80"
-
-# Generate a version of mmperf for CPU.
-RUN mkdir -p "/usr/local/src/mmperf" \
- && /usr/local/bin/setup_mmperf.sh "/usr/local/src/mmperf" "${MMPERF_SHA}"
-
-ENV MMPERF_REPO_DIR="/usr/local/src/mmperf/mmperf"
-############## \
diff --git a/build_tools/docker/dockerfiles/perf.Dockerfile b/build_tools/docker/dockerfiles/perf.Dockerfile
deleted file mode 100644
index 63d9ed9..0000000
--- a/build_tools/docker/dockerfiles/perf.Dockerfile
+++ /dev/null
@@ -1,60 +0,0 @@
-# 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
-
-# An image that includes basic packages, compiler and Python support for
-# running perf-related workflows e.g. mmperf, convperf.
-
-# Ubuntu 22.04.
-FROM ubuntu@sha256:817cfe4672284dcbfee885b1a66094fd907630d610cab329114d036716be49ba
-
-######## Basic ########
-RUN apt-get update \
- && apt-get install -y \
- git \
- wget \
- cmake \
- curl \
- ninja-build \
- numactl
-##############
-
-######## Clang/LLVM ########
-ARG LLVM_VERSION=14
-
-RUN apt-get update \
- && apt-get install -y \
- llvm-${LLVM_VERSION} \
- llvm-${LLVM_VERSION}-dev \
- clang-${LLVM_VERSION} \
- clang-tools-${LLVM_VERSION} \
- libclang-common-${LLVM_VERSION}-dev \
- libclang-${LLVM_VERSION}-dev \
- libclang1-${LLVM_VERSION} \
- clang-format-${LLVM_VERSION} \
- clangd-${LLVM_VERSION} \
- clang-tidy-${LLVM_VERSION} \
- lldb-${LLVM_VERSION} \
- lld-${LLVM_VERSION} \
- libmlir-${LLVM_VERSION}-dev \
- mlir-${LLVM_VERSION}-tools \
- && ln -s /usr/lib/llvm-${LLVM_VERSION}/bin/clang /usr/bin/clang \
- && ln -s /usr/lib/llvm-${LLVM_VERSION}/bin/clang++ /usr/bin/clang++
-
-ENV CC /usr/bin/clang
-ENV CXX /usr/bin/clang++
-##############
-
-######## Python ########
-WORKDIR /install-python
-
-ARG PYTHON_VERSION=3.10
-
-COPY runtime/bindings/python/iree/runtime/build_requirements.txt build_tools/docker/context/install_python_deps.sh ./
-RUN ./install_python_deps.sh "${PYTHON_VERSION}" \
- && rm -rf /install-python
-
-ENV PYTHON_BIN /usr/bin/python3
-##############
diff --git a/build_tools/docker/manage_images.py b/build_tools/docker/manage_images.py
index 25801e7..c8e7429 100755
--- a/build_tools/docker/manage_images.py
+++ b/build_tools/docker/manage_images.py
@@ -51,9 +51,6 @@
"riscv": ["base"],
"gradle-android": ["base"],
"frontends": ["android"],
- "perf": [],
- "mmperf": ["perf"],
- "convperf": ["perf"],
"shark": [],
"swiftshader": ["base"],
"samples": ["swiftshader"],
diff --git a/build_tools/docker/prod_digests.txt b/build_tools/docker/prod_digests.txt
index 4049999..ad0360b 100644
--- a/build_tools/docker/prod_digests.txt
+++ b/build_tools/docker/prod_digests.txt
@@ -12,8 +12,5 @@
gcr.io/iree-oss/shark@sha256:2b2e41dbf909194b598e226144a2fb1e74d31851d41fe519d0fcb6d071b77461
gcr.io/iree-oss/base-bleeding-edge@sha256:14200dacca3a0f3a66f8aa87c6f64729b83a2eeb403b689c24204074ad157418
gcr.io/iree-oss/swiftshader-bleeding-edge@sha256:d2483ac643184a16942489d8f709ef3714543ae795fa9ae8fd2e4d8bf68a24a0
-gcr.io/iree-oss/mmperf@sha256:dfeebcaf8f417275d44c7b8d9a1360c6a26d280b526779c9e64384798cfd9c92
-gcr.io/iree-oss/convperf@sha256:8e242ad71896a791c9be53b0906b7c8e96a2d3bad3f7431622cc797a6f89ba0f
-gcr.io/iree-oss/perf@sha256:0e1c92dde6ec7312c7c92a8ee329892ad83bae4b7968e4f2c98f99ffad3faa48
gcr.io/iree-oss/nvidia-bleeding-edge@sha256:522491c028ec3b4070f23910c70c8162fd9612e11d9cf062a13444df7e88ab70
gcr.io/iree-oss/base-arm64@sha256:31cdb58f556e415c3c65afae31ae9c54e43c1eb3dcd845f3d107abd9b368ff3d