这里的sniper是下一代并行、高速、精确的x86模拟器,它是基于区间核模型的基础仿真设施。这里区间模型是利用一种机械分析模型,通过驱动单个核的时序模拟来抽象核心性能,而无需通过核的流水线阶段详细跟踪单个指令。模型的基础是miss事件(如分支错误预测、缓存和TLB miss、序列化指令等),将流畅的指令流经管道分成间隔。sniper 支持多工作负载,多线程和共享内存的应用定时仿真,支持100+个核。
1、Ubuntu 16.04(64位)
2、Docker
3、以下依赖包:
a. zlib1g-dev
b. libbz2-dev
c. g++
d. libsqlite3-dev
e. libboost-dev
f. m4
g. xsltproc
h. libx11-dev
i. libxext-dev
j. libxt-dev
k. libxmu-dev
l. libxi-dev
m. gfortran
1、下载sniper:sniper-7.2
2、下载Pin3.7:Pin(这里我使用的是Pin 3.7,版本太低会与sniper不兼容)
3、解压sniper,在sniper目录下新建pin_kit文件夹,解压Pin,把Pin目录下的全部文件复制到pin_kit。
4、安装docker,具体教程可参考网上教程Ubuntu安装docker
5、然后进入sniper7.2/docker目录,执行make
,然后执行make run
6、返回sniper目录下,继续执行make
或者make -j N
,其中N是Ubuntu系统的核数,如果没有问题,则安装完成。
进入sniper目录下的test/fft目录,执行make run
命令。