用的是32位Ubuntu12.04的虚拟机。直接进入正题,我的SPEC2006内容在/home/pxf/temp/spec2006目录下,步骤如下,
$cd /home/pxf/temp/spec2006
$./install.sh
$source shrc
接下来是比较重要的一步——改配置文件,
$cd config
来看一下配置文件的主要内容,
#####################################################################
tune = base
size = test
#size =train
#size =ref
iterations = 1
ext = cpu2006
output_format = asc#,ps
reportable = 0 #!set by pxf to allow compile one benchmark once
teeout = yes
teerunout = yes
hw_avail = December-2013
license_num = 9999
test_sponsor = thu
prepared_by = Xiaofeng Pan
tester = Xiaofeng Pan
test_date = December-2013
runlist = cpu2006
######################################################################
default=default=default=default:
#####################################################################
# Compiler selection. !!!This should be set by users!!!
#####################################################################
CC = /usr/bin/gcc
CXX = /usr/bin/g++
FC = /usr/bin/gfortran
#####################################################################
# Optimization
#####################################################################
## Base is low opt
default=base=default=default:
COPTIMIZE = -O2
CXXOPTIMIZE = -O2
FOPTIMIZE = -O2
notes0100= C base flags: -O2
notes0110= C++ base flags: -O2
notes0120= Fortran base flags: -O2
………………………(后面的内容省略)………………………
其中的配置项size用来选择测是的数据来源,这三个数据来源(test、train、base)在每个benchmark的data目录下(比如/home/pxf/temp/spec2006/benchspec/CPU2006/462.libquantum/data)。 reportable用来选择是否允许编译或运行单个benchmark,设为0表示允许单个编译和运行,1则表示只允许全部一起编译(这时候你在runspec命令末尾加某个benchmark的名称是会被ignore的)。其他要注意设置一下的是CC、CXX、FC选项,应该分别设置为你的gcc、g++和gfortran工具的安装路径。
该文件配置好后,运行以下命令编译libquantum benchmark,
$runspec --config=pxf_20131223.cfg --action=build --tune=base libquantum
运行以下命令运行该benchmark,
$runspec --config=pxf_20131223.cfg --size=test --noreportable --tune=base --iterations=1 libquantum
其实这两条命令中,如果config文件中已经如上面的那版配置,那么--tune=base、--size=test --noreportable --tune=base --iterations=1 等编译和运行选项都可以省略。