Skip to main content

AIHW-Bench

AI Hardware Benchmarking & Profiling Framework

CI PyPI Python License Documentation

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.

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

aihw_bench-2.0.1.tar.gz (70.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aihw_bench-2.0.1-py3-none-any.whl (93.1 kB view details)

Uploaded Python 3

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

Hashes for aihw_bench-2.0.1.tar.gz
Algorithm Hash digest
SHA256 5875c720996f09c8ee55b9499b71e644aec7139b795e2e4a2b3d1edfed873306
MD5 db727f5f53ec187d15473f57a424d802
BLAKE2b-256 89c95f3f48f6d6c0f69b1c9412a8baeabaebf9fdddfbf6cabe7cb2a7ccde36cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for aihw_bench-2.0.1.tar.gz:

Publisher: release.yml on shashi065/aihw-bench

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for aihw_bench-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f27f049783581014b1482c33be001db9fe7e5b1003bbc43d72350fe2803ef514
MD5 7174b2deaf0c006db27911b7967d988d
BLAKE2b-256 06ae3ccc4b8a99c6380df953d46c011a4f61e655e0e39aab6b046df8149c6f58

See more details on using hashes here.

Provenance

The following attestation bundles were made for aihw_bench-2.0.1-py3-none-any.whl:

Publisher: release.yml on shashi065/aihw-bench

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

2.0.1 This release

2 files

2.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page