gem5计算功耗的话比较常用的就是McPAT了。
其实也有几篇文章讲这个了,但我还会说记录一下。
1、首先编译McPAT
在gem5/ext/mcpat中找到McPAT的源码,使用make进行编译。还得装一下两个软件。
sudo apt-get install gcc-multilib
sudo apt-get install g++-multilib
make -j4
编译完成后得到/obj_opt/mcpat文件,备用
在macpt文件夹中,有Alpha21364.xml,ARM_A8.xml等文件,这些是mcpat的输入模板。
2、下载GEM5toMcPAT
因为McPAT的输入是.xml的,gem5的输出是stats.txt。所以需要进行格式的转化。
这时候有很多个版本gem5tomcpat。
(1)
git clone https://bitbucket.org/dskhudia/gem5tomcpat.git
使用命令得到mcpat-out.xml,其中template-xeon.xml是模板文件,自带的比较简单,可更根据需要自行修改
python GEM5ToMcPAT.py stats.txt config.json template-xeon.xml
然后使用第一步得到的mapat文件,进行如下命令
./mcpat -infile mcpat-out.xml -print_level 5 > out.log
(2)
忘记在哪儿下的了,直接放上百度网盘链接
链接:https://pan.baidu.com/s/1bNqJptPNxr4vQDNPUB9KFg
提取码:gdst
其实两个类似,就是提取stats.txt的信息的程序不一样。
step1:
perl m5-mcpat1.pl stats.txt config1.ini mcpat-template1.xml > out1.xml
step2:
./mcpat1 -infile out1.xml -print_level 5 -opt_for_clk 0 > mcpat.txt
3、修改mcpat的输入模板
这个是最终要的也是最难的一步,等我完成再来补充。
参考资料: