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.
Metadata
Release files for aihw-bench 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| aihw_bench-2.0.1.tar.gz | 70.8 kB | With provenance | Details for aihw_bench-2.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| aihw_bench-2.0.1-py3-none-any.whl | Python 3 | none | any | Details for aihw_bench-2.0.1-py3-none-any.whl |
Total release size: 164.0 kB
Release files / aihw_bench-2.0.1.tar.gz
| Download URL | aihw_bench-2.0.1.tar.gz |
|---|---|
| Size | 70.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5875c720996f09c8ee55b9499b71e644aec7139b795e2e4a2b3d1edfed873306
|
|
BLAKE2b-256 checksum How to use checksums |
89c95f3f48f6d6c0f69b1c9412a8baeabaebf9fdddfbf6cabe7cb2a7ccde36cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logRelease files / aihw_bench-2.0.1-py3-none-any.whl
| Download URL | aihw_bench-2.0.1-py3-none-any.whl |
|---|---|
| Size | 93.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f27f049783581014b1482c33be001db9fe7e5b1003bbc43d72350fe2803ef514
|
|
BLAKE2b-256 checksum How to use checksums |
06ae3ccc4b8a99c6380df953d46c011a4f61e655e0e39aab6b046df8149c6f58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logSecurity for aihw-bench 2.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
Both files in this release have been uploaded with provenance metadata.
Attestation for aihw_bench-2.0.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.