Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
9def651
update benchmark and errors
LIUQyou Mar 30, 2025
e4b8133
ci test
LIUQyou May 25, 2025
f5ba9cd
test bench
LIUQyou May 25, 2025
6981c8d
test
LIUQyou May 25, 2025
3746754
test
LIUQyou May 25, 2025
ca204be
test
LIUQyou May 25, 2025
3a4f74c
ci: run benchmarks inside reusable docker container
LIUQyou May 25, 2025
2cae659
ci: run benchmarks inside reusable docker container
LIUQyou May 25, 2025
c54f5d3
ci: run benchmarks inside reusable docker container
LIUQyou May 25, 2025
505884b
ci: run benchmarks inside reusable docker container
LIUQyou May 25, 2025
1684057
ci: run benchmarks inside reusable docker container
LIUQyou May 26, 2025
8d847a3
ci: run benchmarks inside reusable docker container
LIUQyou May 26, 2025
505c850
web uploading
LIUQyou May 26, 2025
f51a447
ci: run benchmarks inside reusable docker container
LIUQyou May 26, 2025
da02b21
ci: run benchmarks inside reusable docker container
LIUQyou May 26, 2025
c56d0d8
ci: run benchmarks inside reusable docker container
LIUQyou May 26, 2025
ec3040d
git push
LIUQyou May 26, 2025
c170ccf
update web
LIUQyou May 26, 2025
998297b
update web
LIUQyou May 26, 2025
c38f168
update web
LIUQyou May 26, 2025
8f6e489
update web
LIUQyou May 26, 2025
41780d8
update the script
LIUQyou Jun 1, 2025
e55d8ee
update the script.
LIUQyou Jun 1, 2025
1300208
update the script.
LIUQyou Jun 1, 2025
fabbc27
update the script.
LIUQyou Jun 1, 2025
7d0b5b0
update the script.
LIUQyou Jun 1, 2025
85e2e9f
update the script.
LIUQyou Jun 1, 2025
2399a4d
update the script.
LIUQyou Jun 1, 2025
30a34e7
test
LIUQyou Jul 27, 2025
96302f6
test
LIUQyou Jul 27, 2025
e80d1a7
test
LIUQyou Jul 27, 2025
2ae6fa0
test
LIUQyou Jul 27, 2025
73f885a
test
LIUQyou Jul 27, 2025
6a005f1
test
LIUQyou Jul 27, 2025
d39f6a1
test
LIUQyou Jul 27, 2025
cd72f2e
test
LIUQyou Jul 27, 2025
e052b97
test
LIUQyou Jul 27, 2025
38dfdfc
test
LIUQyou Jul 27, 2025
747c015
test
LIUQyou Jul 27, 2025
5b34056
test
LIUQyou Jul 27, 2025
7625f84
update
LIUQyou Sep 7, 2025
f48c925
ci(bench): build top-level benchmarks index, hide per-run pages from …
LIUQyou Sep 7, 2025
b844343
update
LIUQyou Sep 7, 2025
ee1d3ea
update
LIUQyou Sep 7, 2025
0d88fec
update
LIUQyou Sep 7, 2025
047e865
[CI] Fix heredoc indentation and add test_result skip
LIUQyou Sep 7, 2025
9e96d50
update
LIUQyou Sep 7, 2025
55122ad
update
LIUQyou Sep 7, 2025
bfc79a8
update
LIUQyou Sep 7, 2025
b88ff30
update
LIUQyou Sep 7, 2025
593a995
update
LIUQyou Sep 7, 2025
a578af9
update
LIUQyou Sep 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Empty file modified .clang-format
100644 → 100755
Empty file.
Empty file modified .gitattributes
100644 → 100755
Empty file.
Empty file modified .github/ISSUE_TEMPLATE/bug_report.md
100644 → 100755
Empty file.
Empty file modified .github/ISSUE_TEMPLATE/feature_request.md
100644 → 100755
Empty file.
169 changes: 169 additions & 0 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,169 @@
# .github/workflows/bench.yml
name: Buddy-Benchmark CI

on:
push: # fire on any branch
branches: ['**']
pull_request:
workflow_dispatch:
inputs:
upstream_repo:
description: "Which repo changed (mlir|benchmark)"
required: false
upstream_sha:
description: "Upstream commit SHA for result folder"
required: false

jobs:
bench:
runs-on: self-hosted
permissions:
contents: read
pages: write
id-token: write

steps:
# ------------------------------------------------------------
# 1) update the two local clones so they match the commit that
# triggered the run (fast-forward only for safety)
# ------------------------------------------------------------
- name: Update local clones
run: |
set -e
for dir in buddy-benchmark buddy-mlir; do
cd /home/quliu/buddy-complier-workspace/$dir
git remote update
git pull --ff-only
done

# ------------------------------------------------------------
# 2) run everything in the Docker sandbox
# ------------------------------------------------------------
- name: Build & run benchmarks
run: |
set -e
TEST_DIR=/home/quliu/buddy-complier-workspace/buddy-benchmark/test_result
if [ -d "$TEST_DIR" ] && [ "$(find "$TEST_DIR" -type f | wc -l)" -gt 0 ]; then
echo "[Skip] $TEST_DIR already has benchmark outputs; skipping build/run."
echo "[Info] File count: $(find "$TEST_DIR" -type f | wc -l)"
else
echo "[Run] No existing results detected; running benchmarks in Docker."
/home/quliu/buddy-complier-workspace/run_docker.sh
fi
# ------------------------------------------------------------
# 2½) decide which date folder we’re about to publish
# ------------------------------------------------------------
- name: Set BENCH_DATE and BENCH_DIR
run: |
bench_date=$(date +'%Y-%m-%d')
# Prefer a passed upstream SHA, otherwise use this workflow's SHA
run_sha="${{ github.event.inputs.upstream_sha || github.sha }}"
echo "BENCH_DATE=$bench_date" >> "$GITHUB_ENV"
echo "BENCH_DIR=$HOME/buddy-complier-workspace/buddy-benchmark/site/benchmarks/$bench_date/${run_sha}" >> "$GITHUB_ENV"

# ------------------------------------------------------------
# 3-5) (UNCHANGED) upload raw logs, convert to HTML, deploy Pages
# ------------------------------------------------------------
- name: Upload raw logs as artifact
uses: actions/upload-artifact@v4
with:
name: vectorization-logs-${{ github.sha }}
path: /home/quliu/buddy-complier-workspace/buddy-benchmark/test_result
retention-days: 30

- name: Build mini-site
working-directory: /home/quliu/buddy-complier-workspace/buddy-benchmark
run: |
rm -rf site
mkdir -p "${{ env.BENCH_DIR }}"
python3 scripts/logs2html.py test_result "${{ env.BENCH_DIR }}/"

- name: Update benchmarks/latest redirect
working-directory: /home/quliu/buddy-complier-workspace/buddy-benchmark/site/benchmarks
run: |
set -e
# -------- pick the most recent dated folder (YYYY-MM-DD) -------------
latest=$(ls -1d 20*/ | sort -r | head -n1 | tr -d '/')
echo "[Info] newest run is: $latest"

# -------- rebuild the 'latest' folder with a meta-refresh ------------
rm -rf latest
mkdir -p latest
printf '%s\n' "<meta http-equiv=\"refresh\" content=\"0; url=../${latest}/\">" > latest/index.html
echo "[Info] benchmarks/latest now points to ../${latest}/"

# ------------------------------------------------------------
# 4) make /benchmarks/ point to the most recent run as well
# ------------------------------------------------------------
# (Removed) previous redirect-only index; replaced by full listing below

- name: Upload site artifact
uses: actions/upload-pages-artifact@v3
with:
path: /home/quliu/buddy-complier-workspace/buddy-benchmark/site

- name: Build landing page for this run
run: |
run_root="${{ env.BENCH_DIR }}"
mkdir -p "$run_root"

{
printf '%s\n' \
'---' \
'layout: default' \
'title: Benchmark run' \
'nav_exclude: true' \
'---' \
'' \
'<h1>Benchmark results</h1>' \
'' \
'<ul>' \
'{% for f in site.static_files %}' \
' {% if f.path contains page.dir and f.name != "index.html" and f.extname == ".html" %}' \
' <li><a href="{{ f.path }}">{{ f.name }}</a></li>' \
' {% endif %}' \
'{% endfor %}' \
'</ul>'
} > "$run_root/index.html"


- name: Build top-level benchmarks index (list all runs)
working-directory: /home/quliu/buddy-complier-workspace/buddy-benchmark/site
run: |
set -e
out=benchmarks/index.html
mkdir -p benchmarks
{
printf '%s\n' \
'---' \
'layout: default' \
'title: Benchmarks' \
'nav_exclude: true' \
'---' \
'<h1>Benchmark runs</h1>' \
'<p>Select a date and commit:</p>'

# List dates newest first
for d in $(ls -1d benchmarks/20*/ | sort -r); do
d=${d%/}
echo "<h2>${d#benchmarks/}</h2>"
echo "<ul>"
# List shas newest first if timestamps exist; otherwise lexicographic
for sha in $(ls -1d "$d"/*/ 2>/dev/null | sort -r); do
sha=${sha%/}
rel=${sha#benchmarks/}
echo " <li><a href=\"/benchmarks/${rel}/\">${rel}</a></li>"
done
echo "</ul>"
done
} > "$out"

- name: Push benchmark results
uses: peaceiris/actions-gh-pages@v4
with:
personal_token: ${{ secrets.BUDDY_SITE_PAT }}
external_repository: buddy-compiler/buddy-compiler.github.io
publish_dir: /home/quliu/buddy-complier-workspace/buddy-benchmark/site # <- root of generated site
publish_branch: master
keep_files: true # keep earlier runs
enable_jekyll: true
96 changes: 96 additions & 0 deletions .github/workflows/watch-upstream.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: Watch upstream and trigger bench on change
on:
schedule:
- cron: "*/10 * * * *" # every 10 minutes
workflow_dispatch:

permissions:
contents: write # to push state branch
actions: write # to dispatch workflows

concurrency:
group: watch-upstream
cancel-in-progress: true

jobs:
watch:
runs-on: self-hosted
steps:
- name: Checkout default branch
uses: actions/checkout@v4
with:
ref: main # adjust if your default branch differs
fetch-depth: 0

- name: Create/switch to automation-state branch
run: |
set -e
git fetch origin automation-state || true
if git show-ref --verify --quiet refs/remotes/origin/automation-state; then
# Start from the remote state branch to avoid non-ff push
git checkout -B automation-state origin/automation-state
else
# First run: create a new state branch from current HEAD
git checkout -B automation-state
fi

- name: Get upstream HEAD SHAs
id: head
run: |
set -e
MLIR_SHA=$(git ls-remote https://github.com/buddy-compiler/buddy-mlir.git refs/heads/main | awk '{print $1}')
BENCH_UP_SHA=$(git ls-remote https://github.com/buddy-compiler/buddy-benchmark.git refs/heads/main | awk '{print $1}')
echo "mlir=${MLIR_SHA}" >> $GITHUB_OUTPUT
echo "bench=${BENCH_UP_SHA}" >> $GITHUB_OUTPUT

- name: Load previous SHAs
id: prev
run: |
echo "prev_mlir=$(cat mlir.sha 2>/dev/null || echo none)" >> $GITHUB_OUTPUT
echo "prev_bench=$(cat bench.sha 2>/dev/null || echo none)" >> $GITHUB_OUTPUT

- name: Decide if changed
id: decide
run: |
changed=false
if [ "${{ steps.head.outputs.mlir }}" != "${{ steps.prev.outputs.prev_mlir }}" ] || \
[ "${{ steps.head.outputs.bench }}" != "${{ steps.prev.outputs.prev_bench }}" ]; then
changed=true
fi
echo "changed=$changed" >> $GITHUB_OUTPUT

- name: Determine which repo changed
if: steps.decide.outputs.changed == 'true'
id: which
run: |
if [ "${{ steps.head.outputs.mlir }}" != "${{ steps.prev.outputs.prev_mlir }}" ]; then
echo "repo=mlir" >> $GITHUB_OUTPUT
echo "sha=${{ steps.head.outputs.mlir }}" >> $GITHUB_OUTPUT
else
echo "repo=benchmark" >> $GITHUB_OUTPUT
echo "sha=${{ steps.head.outputs.bench }}" >> $GITHUB_OUTPUT
fi

- name: Update state branch
if: steps.decide.outputs.changed == 'true'
run: |
set -e
printf "%s" "${{ steps.head.outputs.mlir }}" > mlir.sha
printf "%s" "${{ steps.head.outputs.bench }}" > bench.sha
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add mlir.sha bench.sha
git commit -m "state: mlir=${{ steps.head.outputs.mlir }} bench=${{ steps.head.outputs.bench }}" || echo "no changes"
# Re-sync and push with lease to avoid non-ff failures if remote advanced
git fetch origin automation-state || true
git rebase origin/automation-state || true
git push --force-with-lease=refs/heads/automation-state origin HEAD:automation-state

- name: Dispatch bench.yml in this repo
if: steps.decide.outputs.changed == 'true'
run: |
curl -sS -X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
https://api.github.com/repos/${{ github.repository }}/actions/workflows/bench.yml/dispatches \
-d '{"ref":"main","inputs":{"upstream_repo":"${{ steps.which.outputs.repo }}","upstream_sha":"${{ steps.which.outputs.sha }}"}}'
11 changes: 11 additions & 0 deletions .gitignore
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,14 @@

# vscode configurations
/.vscode

# Third-party checkouts and external repos
/thirdparty/

# Generated sites and results
/site/
/test_result/

# Local Python/venv stuff
__pycache__/
.venv/
4 changes: 4 additions & 0 deletions .gitmodules
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
[submodule "thirdparty/opencv"]
path = thirdparty/opencv
url = https://github.com/opencv/opencv.git
ignore = all
[submodule "thirdparty/Halide"]
path = thirdparty/Halide
url = https://github.com/halide/Halide.git
ignore = all
[submodule "thirdparty/eigen"]
path = thirdparty/eigen
url = https://gitlab.com/libeigen/eigen.git
ignore = all
[submodule "thirdparty/kfr"]
path = thirdparty/kfr
url = https://github.com/kfrlib/kfr.git
ignore = all
Empty file modified .style.yapf
100644 → 100755
Empty file.
Empty file modified CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified LICENSE
100644 → 100755
Empty file.
Empty file modified README.md
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Audios/NASA_Mars.wav
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/BiquadOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/BiquadOp/MLIRBiquad.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/BiquadOp/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/BiquadOp/Utils.hpp
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/FFTOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/FFTOp/KFRFft.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/FFTOp/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/FIROp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/FIROp/MLIRFIR.mlir
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/FIROp/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/FIROp/Utils.hpp
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/IIROp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/IIROp/MLIRIIRScalar.mlir
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/IIROp/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/IIROp/Utils.hpp
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/RFFTOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/AudioProcessing/Operations/RFFTOp/RFFT.py
100644 → 100755
Empty file.
Empty file modified benchmarks/AudioProcessing/README.md
100644 → 100755
Empty file.
Empty file modified benchmarks/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Layers/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Layers/FFN/.gitignore
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Layers/FFN/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Layers/FFN/GoogleBenchmarkMain.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Layers/FFN/buddy_ffn_import.py
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Layers/RMSNorm/.gitignore
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Layers/RMSNorm/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Layers/RMSNorm/GoogleBenchmarkMain.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Layers/RMSNorm/buddy_rmsnorm_import.py
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Layers/SelfAttention/.gitignore
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Layers/SelfAttention/CMakeLists.txt
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file modified benchmarks/DeepLearning/Models/Bert/.gitignore
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/Bert/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/Bert/GoogleBenchmarkMain.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/Bert/buddy_bert_import.py
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/LeNet/.gitignore
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/LeNet/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/LeNet/GoogleBenchmarkMain.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/LeNet/buddy_lenet_import.py
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/LeNet/lenet_model.pth
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/LeNet/model.py
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/MobileNet-V3/.gitignore
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/MobileNet-V3/CMakeLists.txt
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file modified benchmarks/DeepLearning/Models/Resnet18/.gitignore
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/Resnet18/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/Resnet18/GoogleBenchmarkMain.cpp
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/DeepLearning/Models/TinyLlama/.gitignore
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/TinyLlama/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/TinyLlama/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/TinyLlama/Utils.hpp
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/DeepLearning/Models/Whisper/.gitignore
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/Whisper/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/Whisper/GoogleBenchmarkMain.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Models/Whisper/buddy_whisper_import.py
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithAddfOp/ArithAddf.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithAddfOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithAddfOp/GoogleBenchmarkMain.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithDivfOp/ArithDivf.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithDivfOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithDivfOp/GoogleBenchmarkMain.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithMulfOp/ArithMulf.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithMulfOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithMulfOp/GoogleBenchmarkMain.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithNegfOp/ArithNegf.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithNegfOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithNegfOp/GoogleBenchmarkMain.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithSubfOp/ArithSubf.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithSubfOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ArithSubfOp/GoogleBenchmarkMain.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/BatchMatMulOp/BatchMatMul.mlir
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/BatchMatMulOp/BatchMatMulSCF.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/BatchMatMulOp/BatchMatMulVec.mlir
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/BatchMatMulOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/BatchMatMulOp/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/BatchMatMulOp/Utils.hpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/Conv2DNchwFchwOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/Conv2DNhwcFhwcInt32Op/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/Conv2DNhwcFhwcInt32Op/Utils.hpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/Conv2DNhwcFhwcOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/Conv2DNhwcFhwcOp/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/Conv2DNhwcFhwcOp/Utils.hpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/Conv2DNhwcHwcfOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/DepthwiseConv2DNhwcHwcOp/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/DepthwiseConv2DNhwcHwcOp/Utils.hpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MatMulOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MatMulOp/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MatMulOp/Utils.hpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MatMulOp/matmul.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MatMulTransposeBOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MatMulTransposeBOp/Main.cpp
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MatMulTransposeBOp/Utils.hpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MathExpOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MathExpOp/GoogleBenchmarkMain.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MathExpOp/MathExp.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MathFpowOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MathFpowOp/GoogleBenchmarkMain.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MathFpowOp/MathFpow.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MathRsqrtOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MathRsqrtOp/GoogleBenchmarkMain.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/MathRsqrtOp/MathRsqrt.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/PoolingNhwcSumOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ReduceAddfOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ReduceAddfOp/ReduceAddf.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ReduceMaxfOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/ReduceMaxfOp/ReduceMaxf.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/SoftmaxExpSumDivOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/TransposeOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/TransposeOp/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/TransposeOp/Transpose2D.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/Ops/TransposeOp/Utils.hpp
100644 → 100755
Empty file.
Empty file modified benchmarks/DeepLearning/README.md
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/Ops/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/Ops/MatMulOp/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/Ops/MatMulOp/ExoMatmul.c
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/Ops/MatMulOp/ExoUtils.h
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/Ops/MatMulOp/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/Ops/MatMulOp/matmul.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/README.md
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/ResNet-101/.gitattributes
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/ResNet-101/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/ResNet-101/CRunnerUtils.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/ResNet-101/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/ResNet-101/ResNet101.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/ResNet-101/images/Cat.h
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/ResNet-101/images/Cat.jpg
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified benchmarks/Gemmini/ResNet-101/include/Labels.h
100644 → 100755
Empty file.
Empty file modified benchmarks/Gemmini/Utils.h
100644 → 100755
Empty file.
Empty file modified benchmarks/ImageProcessing/BuddyConv2DBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/ImageProcessing/BuddyCorr2DBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/ImageProcessing/BuddyMorph2DBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/ImageProcessing/BuddyResize2DBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/ImageProcessing/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/ImageProcessing/EigenConvolve2DBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/ImageProcessing/Images/YuTu.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified benchmarks/ImageProcessing/Images/YuTu1022.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified benchmarks/ImageProcessing/Images/YuTu1024.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified benchmarks/ImageProcessing/Images/YuTu128.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified benchmarks/ImageProcessing/Images/YuTu16.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified benchmarks/ImageProcessing/Images/YuTu18.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified benchmarks/ImageProcessing/Images/YuTu256.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified benchmarks/ImageProcessing/Images/YuTu32.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified benchmarks/ImageProcessing/Images/YuTu4.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified benchmarks/ImageProcessing/Images/YuTu512.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified benchmarks/ImageProcessing/Images/YuTu6.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified benchmarks/ImageProcessing/Images/YuTu64.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified benchmarks/ImageProcessing/Images/YuTu8.png
100644 → 100755
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Empty file modified benchmarks/ImageProcessing/MLIRConv2D.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/ImageProcessing/MLIRConv2DBenchmark.cpp
100644 → 100755
Empty file.
24 changes: 12 additions & 12 deletions benchmarks/ImageProcessing/Main.cpp
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -80,18 +80,18 @@ void registerBenchmarkOpenCVResize2D();

// Run benchmarks.
int main(int argc, char **argv) {
if (argc != 5) {
throw std::invalid_argument(
"Wrong format of command line arguments.\n"
"Correct format is ./image-processing-benchmark <image path> <kernel "
"name> <kernelmorph> <Boundary Option>\n where "
"image path provides path of the image to be processed, kernel name "
"denotes the name "
"of desired kernel as specified in "
"kernelmorph denotes the kernel to be used for morphological operations"
"include/ImageProcessing/Kernels.h and Boundary options available "
"are CONSTANT_PADDING, REPLICATE_PADDING.\n");
}
// if (argc != 5) {
// throw std::invalid_argument(
// "Wrong format of command line arguments.\n"
// "Correct format is ./image-processing-benchmark <image path> <kernel "
// "name> <kernelmorph> <Boundary Option>\n where "
// "image path provides path of the image to be processed, kernel name "
// "denotes the name "
// "of desired kernel as specified in "
// "kernelmorph denotes the kernel to be used for morphological operations"
// "include/ImageProcessing/Kernels.h and Boundary options available "
// "are CONSTANT_PADDING, REPLICATE_PADDING.\n");
// }

Img<float, 2> img = dip::imread<float, 2>(argv[1], dip::IMGRD_GRAYSCALE);

Expand Down
Empty file modified benchmarks/ImageProcessing/OpenCVFilter2DBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/ImageProcessing/OpenCVMorph2DBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/ImageProcessing/OpenCVResize2DBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/ImageProcessing/include/Kernels.h
100644 → 100755
Empty file.
Empty file modified benchmarks/OpOptimization/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/OpOptimization/Conv2dNchwFchw/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/OpOptimization/Conv2dNchwFchw/Conv2DNchwFchw.mlir
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file.
Empty file.
Empty file modified benchmarks/OpOptimization/Conv2dNchwFchw/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/OpOptimization/MatMul/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/OpOptimization/MatMul/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/OpOptimization/MatMul/MatMul.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/OpOptimization/MatMul/MatMulBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/OpOptimization/MatMul/MatMulBroadcast.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/OpOptimization/MatMul/MatMulTransform.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/OpOptimization/MatMul/TVM/.gitignore
100644 → 100755
Empty file.
Empty file modified benchmarks/OpOptimization/MatMul/TVM/main.py
100644 → 100755
Empty file.
Empty file modified benchmarks/OpOptimization/MatMul/TVM/matmul_autotvm.py
100644 → 100755
Empty file.
Empty file modified benchmarks/OpOptimization/MatMul/TVM/matmul_manual.py
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/MLIRMatMul.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/MLIRMatMulBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/MLIRMatVec.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/MLIRMatVecBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx1.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx10a.mlir
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx10b.mlir
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx11.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx11Benchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx12.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx12Benchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx13.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx13Benchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx14.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx14Benchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx1Benchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx21.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx21Benchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx23.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx23Benchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx24.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx24Benchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx25.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx25Benchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx2a.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx2aBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx2b.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx2bBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx3.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx3Benchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx4a.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx4aBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx4b.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx4bBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx4c.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx4cBenchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx7.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx7Benchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx8.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx8Benchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx9.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/MLIRGccLoopsEx9Benchmark.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/gccloops/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/linpackc/CMakeLists.txt
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/Vectorization/linpackc/MLIRLinpackCDaxpyRollF32.mlir
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/linpackc/MLIRLinpackCDaxpyRollF64.mlir
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file modified benchmarks/Vectorization/linpackc/Main.cpp
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/polybench/CMakeLists.txt
100644 → 100755
Empty file.
Empty file modified benchmarks/Vectorization/polybench/MLIRPolybench2mm.mlir
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/Vectorization/polybench/MLIRPolybench3mm.mlir
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/Vectorization/polybench/MLIRPolybenchAdi.mlir
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/Vectorization/polybench/MLIRPolybenchAtax.mlir
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/Vectorization/polybench/MLIRPolybenchBicg.mlir
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/Vectorization/polybench/MLIRPolybenchCholesky.mlir
100644 → 100755
Empty file.
Empty file.
Empty file.
Empty file.
Empty file modified benchmarks/Vectorization/polybench/MLIRPolybenchCovariance.mlir
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/Vectorization/polybench/MLIRPolybenchDeriche.mlir
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/Vectorization/polybench/MLIRPolybenchDoitgen.mlir
100644 → 100755
Empty file.
Empty file.
Empty file modified benchmarks/Vectorization/polybench/MLIRPolybenchDurbin.mlir
100644 → 100755
Empty file.
Loading