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.
- 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.
# 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 --listSee the notebooks/ directory for tutorials, and the docs for the full API.
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}
}