HaneenGamal / Eva-CiM

Code of "Eva-CiM: A System-Level Performance and Energy Evaluation Framework for Computing-in-Memory Architectures", TCAD 2020

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Eva-CiM

Code of "Eva-CiM: A System-Level Performance and Energy Evaluation Framework for Computing-in-Memory Architectures", TCAD 2020

We assume the users are familiar with gem5 and mcpat:

  1. build and test gem5 correctly, make sure $GEM5_DIR/build/ARM/gem5.opt exists;
  2. install and test cross compiler (we use arm-linux-gnueabihf);
  3. build gem5-mcpat-parser, make sure $GEM5_DIR/power_tool/gem5-mcpat-parser/gem5-mcpat-parser exists;
  4. build mcpat, make sure $GEM5_DIR/power_tool/mcpat/mcpat exists.

Then, get started with Eva-CiM.

  1. Run gem5: ./$GEM5_DIR/run_gem5.sh $OUTPUT_DIR $APP_DIR Then output the trace file, config.ini, stats.txt in $OUTPUT_DIR.
  2. Run traceTool: python $GEM5_DIR/computecache/traceTool.py trace Then output the counter.out file, which lists the incremental values of different instructions.
  3. Run gem5-mcpat-parser to get the mcpat-cim-in.xml: ./$GEM5_DIR/power_tool/gem5-mcpat-parser/gem5-mcpat-parser -x ./$GEM5_DIR/power_tool/gem5-mcpat-parser/ARM_A9_2GHz.xml -c $OUTPUT_DIR/config.ini -s $OUTPUT_DIR/stats.txt -o mcpat-cim-in.xml
  4. Modify the performance counters in mcpat-cim-in.xml: python $GEM5_DIR/computecache/modify-counters.py mcpat-cim-in.xml -i $OUTPUT_DIR/counter.out -o mcpat-cim-out.xml Then output mcpat-cim-in.xml to be fed to McPAT.
  5. Run McPAT to evaluate the energy: ./$GEM5_DIR/power_tool/mcpat/mcpat -infile mcpat-cim-out.xml

About

Code of "Eva-CiM: A System-Level Performance and Energy Evaluation Framework for Computing-in-Memory Architectures", TCAD 2020


Languages

Language:C++ 73.8%Language:Python 16.8%Language:C 3.7%Language:Roff 3.0%Language:Assembly 1.0%Language:HTML 0.4%Language:Hack 0.3%Language:Shell 0.3%Language:CMake 0.2%Language:M4 0.2%Language:Makefile 0.2%Language:Perl 0.1%Language:SuperCollider 0.0%Language:Scala 0.0%Language:Vim Script 0.0%Language:sed 0.0%Language:Awk 0.0%Language:Java 0.0%Language:VBA 0.0%Language:Emacs Lisp 0.0%Language:SWIG 0.0%Language:Objective-C 0.0%