Skip to main content

Hardware Component Area, Energy, Latency, and Leak Power Models

Project description

HWComponents

Area, energy, latency, and leak power models for hardware components.


PyPI Python License Docs

CI Code style: black PRs Welcome


HWComponents provides area, energy, latency, and leak power estimates for hardware components in hardware architectures. It is part of the CiMLoop project and serves as the estimation backend for AccelForge.

Learn more at the website or on GitHub.

⚡ Features

  • Simple Python API for writing area, energy, latency, and leak power models. New models can be written in minutes.
  • Automatic parameter scaling across configurations, including scaling to different technology nodes.
  • Plugin ecosystem that automatically gathers components from installed Python packages.
  • Included model packages for multiple projects, plus a general-purpose component library.

📦 Install

# Core package
pip install hwcomponents

# Model packages
pip install hwcomponents-cacti
pip install hwcomponents-neurosim
pip install hwcomponents-adc
pip install hwcomponents-library

# List available models
hwc --list

🧪 Examples

See the notebooks/ directory for tutorials, and the docs for the full API.

📚 Cite

If you use HWComponents in your work, please cite this repository and the CiMLoop project:

@software{hwcomponents,
  author={Andrulis, Tanner},
  title={HWComponents},
  url={https://github.com/Accelergy-Project/hwcomponents},
  license={MIT},
}

@INPROCEEDINGS{cimloop,
  author={Andrulis, Tanner and Emer, Joel S. and Sze, Vivienne},
  booktitle={2024 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS)},
  title={CiMLoop: A Flexible, Accurate, and Fast Compute-In-Memory Modeling Tool},
  year={2024},
  pages={10-23},
  doi={10.1109/ISPASS61541.2024.00012}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hwcomponents-1.0.106.tar.gz (39.5 kB view details)

Uploaded Source

Built Distribution

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

hwcomponents-1.0.106-py3-none-any.whl (25.7 kB view details)

Uploaded Python 3

File details

Details for the file hwcomponents-1.0.106.tar.gz.

File metadata

  • Download URL: hwcomponents-1.0.106.tar.gz
  • Upload date:
  • Size: 39.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hwcomponents-1.0.106.tar.gz
Algorithm Hash digest
SHA256 8a68fb6b12f9c03d55c8d11436f3d19f2c6bc0b2f2355e0d78791162cbd5c3a8
MD5 8f1193f97a463667994f6e1ce1f32fe4
BLAKE2b-256 d5e747ff7e7a355863ffe00b0690974037b08b3319c3b87894a9481b2febd2fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for hwcomponents-1.0.106.tar.gz:

Publisher: publish.yaml on Accelergy-Project/hwcomponents

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

File details

Details for the file hwcomponents-1.0.106-py3-none-any.whl.

File metadata

  • Download URL: hwcomponents-1.0.106-py3-none-any.whl
  • Upload date:
  • Size: 25.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for hwcomponents-1.0.106-py3-none-any.whl
Algorithm Hash digest
SHA256 70451105dc12084466c65a82b716e07708892f8bd601143a06e7c7c74bd0b75e
MD5 66f80dcbb9e64bdcfcf0ebdfbe0fba66
BLAKE2b-256 20014eaa05ba7e0cdb4d332175fe47149edfb6b1d1acc7c92d40edc03f6f7dcf

See more details on using hashes here.

Provenance

The following attestation bundles were made for hwcomponents-1.0.106-py3-none-any.whl:

Publisher: publish.yaml on Accelergy-Project/hwcomponents

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page