AIHW-Bench
AI Hardware Benchmarking & Profiling Framework
AIHW-Bench is a reproducible Python framework for benchmarking, profiling, comparing, and reporting AI workloads across CPUs, GPUs, embedded systems, simulator-backed environments, and extensible accelerator backends.
Measure the workload. Understand the hardware. Compare the results. Reproduce the experiment.
- Documentation: https://shashi065.github.io/aihw-bench/
- Repository: https://github.com/shashi065/aihw-bench
- Current stable release: v2.0.0
Why AIHW-Bench?
| Need | AIHW-Bench provides |
|---|---|
| Reproducible measurements | Versioned configuration, immutable sessions, checksums, deterministic suite manifests, and report metadata. |
| Clear comparisons | Latency, throughput, resource metrics, session comparisons, reports, dashboard views, and a local benchmark analysis assistant. |
| Hardware-aware execution | Vendor-neutral capability reporting with explicit detection and runtime boundaries. |
| Extensibility | Replaceable model loaders, benchmark backends, metrics, reporters, visualizers, and plugins. |
Architecture
Configuration + workload
│
▼
Benchmark service ──► backend + hardware inspection
│ │
▼ ▼
immutable session ◄──────── measurements / observations
│
├──► metrics + statistics
├──► JSON / CSV / Markdown / HTML reports
├──► static dashboard
└──► local benchmark analysis assistant
Install
python -m pip install aihw-bench
Optional runtime integrations are installed only when needed:
python -m pip install "aihw-bench[pytorch]"
python -m pip install "aihw-bench[onnx]"
python -m pip install "aihw-bench[all-backends]"
Quick start
Run a deterministic reference benchmark and write a JSON report:
aihw-bench benchmark --backend reference --warmup 1 --iterations 10 --report json
Then inspect your environment and generated results:
aihw-bench doctor
aihw-bench report SESSION_ID --format html --format markdown
aihw-bench dashboard --storage-root .aihw-bench/sessions --output-dir dashboard
Common workflows
Compare two sessions
aihw-bench compare BASELINE_SESSION CANDIDATE_SESSION --output table
Use the official reproducible suite
aihw-bench suite list
aihw-bench suite materialize --output-dir benchmarks
aihw-bench suite baselines --output-dir benchmarks
The suite ships deterministic synthetic inputs and reference fixtures. They validate benchmark plumbing and reproducibility; they are not universal real-device performance claims.
Explain a result locally
aihw-bench assistant SESSION_ID --storage-root .aihw-bench/sessions
The built-in assistant is a deterministic, metric-grounded local benchmark analysis assistant. It is not an LLM and does not send benchmark data to an external service.
Hardware support model
AIHW-Bench distinguishes four capability states:
| State | Meaning |
|---|---|
| Detected | Hardware or software was identified by a host/runtime probe. |
| Reportable | Its metadata can be stored and displayed. |
| Runnable | An installed backend can execute a benchmark for that target. |
| Accelerated | The selected workload/runtime actually uses the relevant acceleration path. |
This distinction matters: FPGA and RTL information can be detected or reported without implying synthesis, board programming, or vendor-tool execution. See the hardware support guide.
Backends and runtimes
| Area | Built-in scope | Optional or plugin scope |
|---|---|---|
| CPU | Reference and CPU benchmark backends | Runtime-specific optimization paths |
| GPU | CUDA, ROCm, and Intel GPU capability-aware target validation | Matching runtime/backend installation is required for execution and acceleration |
| Models | Metadata and loader contracts | PyTorch, ONNX Runtime, TensorFlow Lite, and third-party plugins |
| Embedded / specialized | Raspberry Pi, Jetson, Coral, FPGA placeholder, and RTL metadata/reporting | Board-specific, vendor, and simulator execution integrations |
Reproducibility and reporting
Every benchmark session captures resolved configuration, hardware context, execution samples, metrics, diagnostics, and artifact checksums. Built-in reporters generate JSON, CSV, Markdown, and HTML; the static dashboard supports history browsing, filtering, comparison, and export.
Project status
AIHW-Bench v2.0.0 is feature-complete and maintained as a stable local benchmarking and reporting toolkit. Distributed remote execution, marketplace installation, real FPGA programming, and model-backed assistant providers remain extension areas rather than claims of the core package.
Development
python -m pip install poetry
poetry install --with dev,docs
poetry run pytest
poetry run ruff check src tests scripts
poetry run black --check src tests scripts
poetry run mypy src
poetry run mkdocs build --strict
See the contribution guide, security policy, and engineering documentation.
License
AIHW-Bench is licensed under the Apache License 2.0.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aihw_bench-2.0.1.tar.gz.
File metadata
- Download URL: aihw_bench-2.0.1.tar.gz
- Upload date:
- Size: 70.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5875c720996f09c8ee55b9499b71e644aec7139b795e2e4a2b3d1edfed873306
|
|
| MD5 |
db727f5f53ec187d15473f57a424d802
|
|
| BLAKE2b-256 |
89c95f3f48f6d6c0f69b1c9412a8baeabaebf9fdddfbf6cabe7cb2a7ccde36cd
|
Provenance
The following attestation bundles were made for aihw_bench-2.0.1.tar.gz:
Publisher:
release.yml on shashi065/aihw-bench
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aihw_bench-2.0.1.tar.gz -
Subject digest:
5875c720996f09c8ee55b9499b71e644aec7139b795e2e4a2b3d1edfed873306 - Sigstore transparency entry: 2678567326
- Sigstore integration time:
-
Permalink:
shashi065/aihw-bench@1b46fd1ffd33cf3694fc17343012003205b2b58a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/shashi065
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1b46fd1ffd33cf3694fc17343012003205b2b58a -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file aihw_bench-2.0.1-py3-none-any.whl.
File metadata
- Download URL: aihw_bench-2.0.1-py3-none-any.whl
- Upload date:
- Size: 93.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f27f049783581014b1482c33be001db9fe7e5b1003bbc43d72350fe2803ef514
|
|
| MD5 |
7174b2deaf0c006db27911b7967d988d
|
|
| BLAKE2b-256 |
06ae3ccc4b8a99c6380df953d46c011a4f61e655e0e39aab6b046df8149c6f58
|
Provenance
The following attestation bundles were made for aihw_bench-2.0.1-py3-none-any.whl:
Publisher:
release.yml on shashi065/aihw-bench
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aihw_bench-2.0.1-py3-none-any.whl -
Subject digest:
f27f049783581014b1482c33be001db9fe7e5b1003bbc43d72350fe2803ef514 - Sigstore transparency entry: 2678567355
- Sigstore integration time:
-
Permalink:
shashi065/aihw-bench@1b46fd1ffd33cf3694fc17343012003205b2b58a -
Branch / Tag:
refs/heads/main - Owner: https://github.com/shashi065
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@1b46fd1ffd33cf3694fc17343012003205b2b58a -
Trigger Event:
workflow_dispatch
-
Statement type: