目录
一、基本概念
SPEC基准广泛用于评估计算机CPU性能工具,SPEC官网下载SPEC CPU®2017测试工具地址:https://www.spec.org/cpu2017/? ####官网收费下载。
二、工作原理
通过程序测试套件(例如编译器GCC,化学程序游戏和天气程序WRF等)的运行时间来测试CPU性能。
三、测试套件
整数和浮点
cpu整数能力 (执行加法,减法,乘法)
cpu浮点能力(执行除法,也就是小数点的位移)
测试套件
它有几种不同的方法来衡量计算机性能。包括4大种类套件共43个基准测试。4大种类套件如下:
整数型
SPECrate 2017 Integer,对应用例编号为5xx 合计10个
SPECspeed 2017 Integer,对应用例编号为6xx合计10个
浮点型
SPECrate 2017 Floating Point,对应用例编号为5xx合计13个
SPECspeed 2017 Floating Point,对应用例编号为6XX合计10个
参数详情请参考官网:Index - CPU 2017
四、工作模式
speed 测量
计算机在单位时间内的单个事务处理时长(CPU处理能力)。测试分数高,说明单次运行时间短,CPU处理能力好。
Spec2017 计算speed分值算法公式:ratio=reference_time/test_time
reference_time:SPEC给出的参考时间
test_time:测试得出的时间
ratio越高表示完成同样的问题用时更少。
rate 测量
计算机在单位时间内的并发事务处理能力(CPU吞吐量)。运行数量由测试者指定,分数高,代表CPU吞吐量高。
Spec2017 计算rate分值的公式:ratio=copies*(reference_time/test_time)
copies:指定相同问题的数量
reference_time:SPEC给出的参考时间
test_time:测试得出的时间
说明:公式含义为,参考时间与单份测试所用时间的比值。ratio越高表示相同时间可以处理更多的问题,即机器的通量高。本测试过程中设置copies,分别为对应cpu的核数。
五、测试场景
Base(基准)与peak (峰值)
base:简单的标准的配置
peak:可以提供更多个性化的配置编译选项
六、操作案例
Speccpu2017 安装完成需执行命令
runcpu --config=spec17-opti-gcc7.3.cfg all --tune=all –reportable
runcpu --config=spec17-opti-gcc7.3.cfg all --threads 98 --copies=98 --tune=all –reportable
部分参数说明
runspec -config=xxx.cfg -size=ref -r 4 -tune=base -noreportable -o txt,screen,pdf -I -iterations=3 all
a)配置文件:--config spec17-opti-gcc7.3.cfg,配置文件中可以包含上述命令的所有信息,但是runspec命令的优先级高。此文件在spec的解压目录下,由上述文章中已有可直接使用。
b)测试规模: --size ref(测试规模有test,ref,train其中test最小跑的时间最短,如果测试编译器正确性的时候可以用test规模,但是想测试性能时候用ref)
c)测试次数:iterations=3次(编译器性能稳定时候测一次就行),也可以写成n 3;
tips:如果想得到加权统计的结果,也就是常说的cpu的spec分数,需要设置iterations大于等于3。
d)测试范围: all 表示进行fp和int测试(将all替换成intrate 或 fprate 进行定点和浮点的测试;将all替换成456/444等文件编号,表示对某一测试项进行单独测试)可选 'fprate', 'fpspeed', 'intrate', 'intspeed' or 'all'.
对于CPU的SPEC测试,默认这一项是all,但是对于其中的某一项测试分数不满意,可通过指定此测试项的编号,进行单独测试。测试也会得到一个分数,做单项的性能调优时候,可以用得到。
e)输出格式:-o text,screen,pdf 表示测试完成,生成报告的格式,依次分别是txt,屏幕显示和pdf格式,保存目录在spec解压目录result中。
f)noreportable && reportable : 表示检测/不检测生成的二进制文件是否修改过。
--reportable 如果原来生成的二进制文件被修改了,则运行时会自动重新编译生成二进制文件,确保运行的程序是原始的程序。
g)测试核数:-r 设置测试的CPU核心数目;
h)测试模式:-tune = base 基准测试;-tune = peak 峰值测试;-tune默认是base 可以选择base, peak, or all ,Report 首先是base,其次是peak.
i)-I : 表示测试中,如遇报错,略过错误继续测试;
运行结果汇总在安装目录下的result目录下
在运行过程中,需要查看执行完哪些用例可以查看
cat CPU2017.001.log.debug | grep -i success
上一篇:Linux高阶—安全认证模块pam(九)
版权归原作者 亓荼 所有, 如有侵权,请联系我们删除。