runspec 的选项说明(spec2006官方文档的翻译)

runspec的使用

runspec [options] [list of benchmarks to run]

常用选项:(尽量使用长选项)
--action| -a:指定runspec的操作,有很多
    validate| run:默认操作,build,run,检查,并输出报告
    runsetup| setup:将可执行文件,复制到指定的目录
    build:创建(编译)
    buildsetup:指定build的目录,但是不编译
    confgpp:尝试输出config-file的报告,应该是用来看格式是否合适
    onlyrun:只执行,但是不确保答案正确
    clean:删除以当前用户命名的run和build目录的文件(类似于这样的nnn.benchmark\run and nnn.benchmark\build)
    clobber:删除所有指定benchmark集的可执行文件
    trash | realclean:对所有用户执行clean
    scrub :删除所有用户的build和run目录及文件
    
--config | -c | --conf :指定config-file的名字

--copies number| -C number:指定执行的副本数,和--rate一起用
--rate| -R:spec-rate和--copies一起使用,可能是为了测试同时执行多个程序的情况
--maxcompares N| --max_active_compares N:默认情况和--copies指定的数量一样。指定并行的程序数量,在多cpu时有用,但是不能超过--cpoies指定的数量

--comment "text":在log中添加注释

--define SYMBOL[=VALUE] | --define SYMBOL:VALUE :进行宏定义(SYMBOL将会在config-file中使用)

--delay secs:指定benchmarks之间的延迟,不计入runtime中

--deletework | -d:删除run目录并重新填充,如果你怀疑,run目录被破坏的话,你可以执行它

--extension name[,name...] | --ext name[,name...] | -e name[,name...] :添加扩展并执行(由程序作者提供)

--fake| --dryrun | --dry-runS:获取action执行的命令列表,像这样使用,--fake --action build

--fakereport| --action=report | --reportonly:处理配置文件并输出report(像执行过一样,结果要么是0,要么是格式化的)

--fakereportable| --mockup:处理配置文件并输出report(像"reportable" run 执行过一样)

--[no]feedback:默认是 --feedback,进行多遍的编译(需要定义PASSn_xFLAGS,当config-file中有feedback=0才有用),--nofeedback是指定一遍编译

--flagsurl URL[,URL...] | -F URL:指定flag-file的位置

--[no]graph_auto | -[no]graphauto | --nograph_auto(默认值):是否指定绘制图形最高、最低点,便于观察结果
--graph_max N | --graphmax:默认足够大,设置图的最高点
 --graph_min N | --graphmin N:默认为0,设置图的最低点

--help| -h | -?:输出帮助文档

--http_proxy proxy[:port]:用来进行版本检查的网络接口(在config-file中添加),默认不启用

--http_timeout N:指定通过http匹配文件时的延迟,默认为30 seconds

--ignore_errors| -I | --ignoreerror:不管错误继续运行,而默认情况是在第一个错误的地方停止

--info_wrap_columns N |--infowrap N:控制非注释文本的行缩进,默认值为50

--iterations number| -n number:指定benchmark执行的次数,默认三次

--[no]keeptmp | --nokeeptmp:没有no,将保留编译的临时文件,默认不保留(nokeeptmp)

--machine name[,name...] | --mach name[,name...] | -m name[,name...]:默认为空,需要在多种平台上运行时才指定(在config-file中写出)
    
--make_no_clobber | -M:默认为clobber,在重新编译的时候不删除已经存在的对象文件,只用来产生问题报告

--notes_wrap_columns N | --noteswrap:默认值为0,控制注释的行缩进

--output_format format| -o format:指定输出报告的格式,默认为txt和html(详细参见http://www.spec.org/cpu2006/docs/runspec.html#out)

--parallel_setup| --parallel-setup processes:默认值为1,并行执行的run-directory的数量,最大为--cpoies指定的数量

--parallel_setup_type :
    none :不做并行设置
    fork | --parallel_setup_prefork :用fork()创建一个setup进程,并将其绑定到一个处理器上
    submit:默认不启用,分离多个runspec请求,并且使用submit变量(config-file中)进行处理

--parallel_test processes| --parallel-test processes:默认值为1或者--copies指定的执行程序数量。
    reportable-run的test和train的工作是并行的,并使用SPECrate变量(可以设置为1来禁止)
    SPECspeed是默认禁止运行的,可以设置它大于1来启动
    (并没有明白)

--preenv:启用config-file中的preENV,应该使用来打印一些环境变量的
--nopreenv:不启用config-file中的preENV

--rawformat rawfiles|-R rawfile:
    默认不启用,不运行程序,而是调用已有结果生成报告
    --action将被忽略

--rebuild| -D:删除已经编译好的文件,并且重新编译

--reportable | -s | --strict | --noloose:必须明确int fp all其中之一,强制了一些选项,比如一定是执行3次(test,train,ref各一次,应该是这样)
--loose| --noreportable| -l | --nostrict:为了查看是否能编译过并执行,但是不想生成报告(config-file还没完善)

--review, --noreview:默认为noreview,格式化结果并输出,能打印更多的详细信息

--setprocgroup, --nosetprocgroup:默认为set,将所有进行放入一个进程组中,便于使用ctrl-c终止运行

--size size[,size...] | -i size | --input size:
    选择输入数据的大小,有test,train和ref三种
    test:常用来进行debug一些编译选项
    test和train:用来确保程序有正确的结果
    ref:运行ref形式三次,来进行测试

--speed:默认不启用,进行一次SPECspeed的运行,不管config-file的设置

--table, --notable:默认为--table,结果中包含一个run的列表

--test:在specperl上执行多种perl的测试

--train_with WORKLOAD:默认为train,用反馈指导编译,是必要的编译选项,最好在config-file中指明

--tune tuning| --tuning tuning | -T tuning:用来测试不同的cpu运行状况
    有三个选择,base,peak(峰值)和all,默认为base
    reportable-run时,必须选择base或者all
    
--undef SYMBOL:移除某个宏定义

--make_bundle name | --make-bundle name:默认为空,将二进制、config和其他支持文件一起打包在一起
    例子:http://www.spec.org/cpu2006/docs/runspec.html#make_bundle
--unpack_bundle name:默认为none,解压之前制作好的包(bundle),不执行
--use_bundle name:默认为none,使用之前制作好的包(bundle),执行

--update|--update_flags | --flagupdate | --flagsupdate | --newflags | --getflags:
    默认不检查,检查benchmark的flag-file的更新

--username name| -U name:默认和当前进程一样,指定user的name

--verbose n | --debug n | -v n:设置信息级别,默认为5,范围1-99

--version:打印版本信息

运行级别:
setup for test
base test, peak test
setup for train
base train, peak train
setup for ref
base ref1, base ref2, base ref3
peak ref1, peak ref2, peak ref3

例子:
1.执行459,465两个测试集,不报告
    runspec --config jason_july09d.cfg --noreportable 459.GemsFDTD 465.tonto

2.执行除了471,473,483之外的整数测试集,不报告
    runspec --noreportable -config kathy_sep14c.cfg int ^471.omnetpp ^473.astar ^483.xalancbmk

3.执行一次483(--iterations 1 --loose 两个选项一起使用)
    runspec --config golden --iterations 1 --loose 483.xalancbmk

4.清空浮点测试集的run和build目录
    runspec --action clean --config may12a fp

5.指定int测试集有四个执行副本
runspec --config tony_may12a --rate 4 int
runspec --config tony_may12a --rate --copies 4 int

6.版本确认的端口问题
For example, a failure of this form:

$ runspec --rawformat --output_format txt \
   --flagsurl http://portlandcyclers.net/evan.xml  CFP2006.007.ref.rsf
...
Retrieving flags file (http://portlandcyclers.net/evan.xml)...

ERROR: Specified flags URL (http://portlandcyclers.net/evan.xml) could not be retrieved.
       The error returned was: 500 Can't connect to portlandcyclers.net:80
       (Bad hostname 'portlandcyclers.net')

improves when a proxy is provided:

$ runspec --rawformat --output_format txt \
   --flagsurl http://portlandcyclers.net/evan.xml  \
   --http_proxy=http://webcache.tom.spokewrenchdad.com:8080 CFP2006.007.ref.rsf

7.利用rawformat选项和已有结果生成报告
runspec --rawformat --output_format html,ps $SPEC/result/CPU2006.324.ref.rsf

8.使用之前创建好的包
runspec --use_bundle /Volumes/CPU2006/cpu2006/mumble.cpu2006bundle.xz


更像详细的内容可以看官方文档:http://www.spec.org/cpu2006/Docs/runspec.html#section1

你可能感兴趣的:(spec2006)