Accelergy-Project / accelergy

Accelergy is an energy estimation infrastructure for accelerator energy estimations
http://accelergy.mit.edu
MIT License
124 stars 40 forks source link
accelerator-designs accelergy energy-estimation

Accelergy (v4: CiMLoop)

An infrastructure for architecture-level energy/area estimations of accelerator designs. Project website: http://accelergy.mit.edu

Examples: https://github.com/Accelergy-Project/timeloop-accelergy-exercises

Contributor Covenant Open Source Love png1

Update v0.4 (CiMLoop)

Update v0.3

Install the package

   <pip_exec> install .
   # note:<pip_exec> is different for different python versions, e.g., pip3      

Run an example evaluation

Area and Energy Estimations

Accelergy is capable of generating energy and area estimations of various accelerator designs. The following example command generates the energy and area estimation of the design and saves the outputs in the ../output folder.

cd examples/hierarchy/input
accelergy -o ../output/ *.yaml components/*.yaml -v 1

Input flags

Accelergy accepts several optional flags:

Input files

There are three types of input files:

File Structure

Documentation

accelergy_config.yaml

accelergy-config.yaml is the required config file for Accelergy to:

At the beginning of accelergy run, Accelergy will automatically search for accelergy_config.yaml first at ./ and then at $HOME/.config/accelergy/ the file will be loaded if found, otherwise, Accelergy will create a default accelergy_config.yaml at $HOME/.config/accelergy/, which points to the root directories of the default estimator plug-in directory and primitive component library directory.

Primitive component library files need be end with .lib.yaml for Accelergy to locate it. find correspondence.

API for Estimation Plug-ins

See the creating-plug-ins tutorial in the exercises repository.

Citation

Please cite the following:

Or use the following BibTeX:

@inproceedings{accelergy,
  author      = {Wu, Yannan Nellie and Emer, Joel S and Sze, Vivienne},
  booktitle   = {2019 IEEE/ACM International Conference on Computer-Aided Design (ICCAD)},
  title       = {Accelergy: An architecture-level energy estimation methodology for accelerator designs},
  year        = {2019},
}
@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},
}