Gem5在X64架构下运行SPEC2006

问题来源:为了验证GEM5执行banchmark需要的时间是否可以容忍,故摸索了下gem5下如何运行spec2006,分析可用性。


步骤一 (编译spec2006): 
1. 购买或下载spec2006源码; 

2. 验证压缩文件的完整性
$ md5sum spec2006v1_0.tar.bz2 
61a69f45ee38d1030a1c217dde782253    spec2006v1_0.tar.bz2
3. 解压
$ tar -jxvf spec2006v1_0.tar.bz2
默认解压到CPU2006v1.0.1目录

4. 赋权限

CPU2006v1.0.1/目录下:

chmod a+x install.sh
CPU2006v1.0.1/bin/目录下:
chmod a+x relocate
CPU2006v1.0.1/tools/bin/linux-suse101-AMD64/目录下:    
chmod a+x spec*
chmod a+x description

5. 安装

CPU2006v1.0.1/下执行: ./install.sh 


6.编译(build)一个benchmarkbzip2为例)获得bzip2_base.amd64-m64-gcc41-nn

命令:cd config(首先进入路径)

命令:cp linux64-amd64-gcc41.cfg experiment5.cfg


7.安装g++, gfortran:
输入命令:sudo apt-get install g++
输入命令:sudo apt-get install gfortran
通过命令“gfortran -v”,可以查看gfortran是否安装成功。


注意:通过拷贝linux64-amd64-gcc41.cfg成为experiment5.cfg,进行bzip2的build,默认是动态编译,而在gem5运行build好的bzip2时应该是静态编译好的exe文件,所以在编译bzip2时,应该选择静态编译,那么如何修改呢?

修改experiment5.cfg文件中的:

修改编译器的路径:

#####################################################################
#
# Compiler selection
#
#####################################################################
CC           = /usr/bin/gcc
CXX          = /usr/bin/g++
FC           = /usr/bin/gfortran

将编译选项改为静态:

#####################################################################

# Optimization
#####################################################################


## Base is low opt
default=base=default=default:
COPTIMIZE     = -O2 -static
CXXOPTIMIZE  = -O2 -static
FOPTIMIZE    = -O2 -static


命令(build): runspec --config=experiment5.cfg --action=build --tune=base bzip2

如果输入runspec提示找不到命令时(即提示:runspec:command not found)错误是,需要退回spec的按装目录,即退回到CPU2006v1.0.1目录,输入命令:

.空格./shrc

编译过后进入目录:

命令:cd benchspec/

命令:cd CPU2006

命令: cd 401.bzip2/

可以看见 401.bzip2文件中多了两个文件夹 exe , buildls命令查看)

7.运行:首先进入目录 cd /home/danny/spec2006/CPU2006v1.0.1/config

命令runspec --config=experiment5.cfg --size=test --noreportable --tune=base --iterations=1 bzip2

含义:noreportable 保证只运行一个benchmark而不是所有的那31benchmarkspec 200631benchmark

运行结果:

runspec v4662 - Copyright 1999-2006 Standard Performance Evaluation Corporation
Using 'linux-suse101-AMD64' tools
Reading MANIFEST... 17910 files
Loading runspec modules...............
Locating benchmarks...found 31 benchmarks in 12 benchsets.
Locating output formats: ASCII, config, CSV, flags, HTML, mail, PDF, PostScript, raw, Screen, Submission Check
Reading config file '/home/danny/spec2006/CPU2006v1.0.1/config/experiment5.cfg'
Benchmarks selected: 401.bzip2
Compiling Binaries
  Up to date 401.bzip2 test base amd64-m64-gcc41-nn default




Parsing Flags
  Looking at 401.bzip2 base amd64-m64-gcc41-nn default: done
Flag Parsing Complete


Setting Up Run Directories
  Setting up 401.bzip2 test base amd64-m64-gcc41-nn default: created (run_base_test_amd64-m64-gcc41-nn.0000)
Running Benchmarks
  Running 401.bzip2 test base amd64-m64-gcc41-nn default
/home/danny/spec2006/CPU2006v1.0.1/bin/specinvoke -d /home/danny/spec2006/CPU2006v1.0.1/benchspec/CPU2006/401.bzip2/run/run_base_test_amd64-m64-gcc41-nn.0000 -e speccmds.err -o speccmds.stdout -f speccmds.cmd -C
/home/danny/spec2006/CPU2006v1.0.1/bin/specinvoke -E -d /home/danny/spec2006/CPU2006v1.0.1/benchspec/CPU2006/401.bzip2/run/run_base_test_amd64-m64-gcc41-nn.0000 -c 1 -e compare.err -o compare.stdout -f compare.cmd
Success: 1x401.bzip2
Producing Reports
mach: default
  ext: amd64-m64-gcc41-nn
    size: test
      set: int
        format: raw -> /home/danny/spec2006/CPU2006v1.0.1/result/CINT2006.003.test.rsf
        format: ASCII -> /home/danny/spec2006/CPU2006v1.0.1/result/CINT2006.003.test.txt
      set: fp


The log for this run is in /home/danny/spec2006/CPU2006v1.0.1/result/CPU2006.003.log


runspec finished at Wed Feb 15 16:35:25 2017; 37 total seconds elapsed

8.在GEM5中运行,获得执行时间和统计信息:

./build/X86/gem5.opt ./configs/example/se.py -c /home/danny/spec2006/CPU2006v1.0.1/benchspec/CPU2006/401.bzip2/exe/bzip2_base.amd64-m64-gcc41-nn -o /home/danny/spec2006/CPU2006v1.0.1/benchspec/CPU2006/401.bzip2/data/test/input/control

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值