SimPoint: 抽样创建模拟点减少spec2006运行时间

参考: simpoint_overview

我们知道要是完整运行spec2006测试集需要几天、几周或几个月才能跑完,如果按照这种方式实现自己的模拟结果,估计等的心都碎了!

目前有些论文选取程序执行2billion instruction后的结果,也有fast-forward 2billion instruction后在执行2billion instruction,这些结果和spec2006完整运行完后的结果相差非常大,并不能真实反映实验模拟结果,那么该如何快速执行程序并获得高精度的模拟结果呢?

SimPoint应运而生,它对spec2006测试集进行抽样,然后运行部分抽样点的部分指令,模拟结果准确性可以高达90%之多,是个不错的工具。

SimPoint使用方法:simpoint下载

下载解压后执行make,出现如下错误:

CmdLineParser.cpp:80:23: error: ‘strlen’ was not declared in this scope

在CmdLineParser.cpp中添加 `#include <cstring>`即可;
Utilities.h:131:23: error: ‘exit’ was not declared in this scope

在Utilities.h中添加`#include <cstdlib>`即可;
Utilities.h:166:59: error: ‘INT_MAX’ was not declared in this scope

在Utilities.h中添加`#include <limits.h>`即可;
In file included from Datapoint.cpp:73:0:
Datapoint.h:111:20: error: ‘ostream’ has not been declared
Datapoint.h:114:19: error: ‘istream’ has not been declared
Datapoint.h:118:26: error: ‘ostream’ has not been declared
Datapoint.h:121:25: error: ‘istream’ has not been declared
Datapoint.h:127:1: error: ‘ostream’ does not name a type

在Datapoint.h中添加`#include <iostream>`即可;

编译成功后即可运行测试例子:

~/SimPoint.3.2/bin$ ./simpoint -maxK 30 -loadFVFile ../input/sample.bb -saveSimpoints simpoints -saveSimpointWeights weights

看到simpoints和weights文件即表示安装和运行成功。

你可能感兴趣的:(spec,simpoint)