目录
1. speccpu测试工具
1.1. speccpu简介
2. speccpu使用说明
2.1. speccpu安装运行
2.2. speccpu测试参数
2.3. 常用测试参数说明
2.4. 测试用例说明
3. speccpu结果分析
3.1. speccpu测试结果
-
speccpu测试工具
- speccpu简介
CINT2006包括C编译程序、量子计算机仿真、下象棋程序等,CFP2006包括有限元模型结构化网格法、分子动力学质点法、流体动力学稀疏线性代数法等。为了简化测试结果,SPEC决定使用单一的数字来归纳所有12种整数基准程序。具体方法是将被测计算机的执行时间标准化,即将被测计算机的执行时间除一个参考处理器的执行时间,结果称为SPECratio。SPECratio值越大,表示性能越快(因为SPECratio是执行时间的倒数)。CINT2006或CFP2006的综合测试结果是取SPECratio的几何平均值。
-
speccpu使用说明
- speccpu安装运行
tar -zxvf spec2006-v1.2-2.sw64built.tar.gz
cd spec2006-v1.2
source shrc
vim bin/runspec //在第一行和第二行,修改实际路径
vim bin/specdiff //在第一行和第二行,修改实际路径
单核
runspec -c swgcc710-base-O2 --tune=base -i ref -n 3 -r 1 --noreportable all
多核
runspec -c swgcc710-base-O2 --tune=base -i ref -n 3 -r 4 --noreportable all
-
- speccpu测试参数
- 配置文件:XX.cfg,配置文件中可以包含上述命令的所有信息,但是runspec命令的优先级高。此文件在spec的解压目录下,由提供的cfg文件修改而来。
- 测试规模:ref(测试规模有test,ref,train其中test最小跑的时间最短,如果测试编译器正确性的时候可以用test规模,但是想测试性能时候用ref)
- 测试次数:iterations=3次(编译器性能稳定时候测一次就行),也可以写成-n 3; tips4:如果想得到加权统计的结果,也就是常说的cpu的spec分数,需要设置iterations大于等于3。
- 测试范围: all 表示进行fp和int测试(将all替换成int 或 fp 进行定点和浮点的测试;将all替换成456/444等文件编号,表示对某一测试项进行单独测试)。 对于CPU的SPEC测试,默认这一项是all,但是对于其中的某一项测试分数不满意,可通过指定此测试项的编号,进行单独测试。测试也会得到一个分数,做单项的性能调优时候,可以用得到。
- 输出格式:-o text,screen,pdf 表示测试完成,生成报告的格式,依次分别是txt,屏幕显示和pdf格式,保存目录在spec解压目录result中。
- noreportable && reportable : 表示检测/不检测生成的二进制文件是否修改过。--reportable 如果原来生成的二进制文件被修改了,则运行时会自动重新编译生成二进制文件,确保运行的程序是原始的程序。
- 测试核数:-r 设置测试的CPU核心数目;
- 测试模式:-tune = base 基准测试;-tune = peak 峰值测试;-tune默认是base 可以选择base, peak, or all ,Report 首先是base,其次是peak.
- -I : 表示测试中,如遇报错,略过错误继续测试;
- 常用测试参数说明
上面给出了例子,介绍了主要的测试参数配置。下面给出一组常用的测试命令及意义。
- runspec -c test.cfg -i test -I all 基于最小测试数据集快速执行所有的测试,测试过程中如果某个用例发生错误,则跳过错误用例,继续执行其他用例。一般不用于不用于正式测试,验证环境是否有问题。
- runspec -c test.cfg -i ref -n 3 -I all 基于最大测试数据集全面执行所有的测试,用于测试单核CPU,测试过程中如果某个用例发生错误,则跳过错误用例,继续执行其他用例。
- runspec -c test.cfg –r ref –n 3 fp 基于最大测试数据集,只运行fp测试
- runspec -c test.cfg –r ref –n 3 int 基于最大测试数据集,只运行int测试
- runspec -c test.cfg -i ref 473.astar 基于最大测试数据集只执行473.astar单个测试。
- runspec –c test.cfg –i ref --rate 4 int 基于最大数据测试集进行rate测试,运行4线程测试的分值
- 测试用例说明
子项目 |
语言 |
说明 |
400.perlbenchPERL编程语言 |
ANSI C |
负载由三个script组成:主负载是垃圾邮件检测软件SpamAssassin,一个是email到HTML的转换器MHonArc,最后一个是specdiff |
401.bzip2 压缩 |
ANSI C |
负载包括六个部分: 两个小的JPEG图片 一个程序 一个tar包起的几个源程序文件 一个HTML文件 混合文件,包括压缩起来的高可压缩文件及不怎么可压缩的文件 测试分别使用了三个不同的压缩等级进行压缩和解压缩 |
403.gcc C编译器 |
C |
对9组C代码进行了编译 |
429.mcf 组合优化 |
ANSI C w/libm |
MCF是一个用于大型公共交通中的单站车辆调度的程序 429.mcf运行于32/64位模型时分别需要约860/1700MB的内存 |
445.gobmk 人工智能:围棋 |
C |
围棋 |
456.hmmer 基因序列搜索 |
C |
使用HMMS(Hidden Markov Models,隐马尔科夫模型) 基因识别方法进行基因序列搜索 |
458.sjeng 人工智能:国际象棋 |
ANSI C |
国际象棋 |
462.libquantum 物理:量子计算 |
ISO/IEC 9899:1999("C99") |
libquantum是模拟量子计算机的库文件,用来进行量子计算机应用的研究 |
464.h264ref 视频压缩 |
C |
使用两种配置对两个YUV格式源文件进行H.264编码 |
471.omnetpp 离散事件仿真 |
C++ |
包括约8000台计算机和900个交换机/集线器,以及混合了各种从10Mb到1000Mb速率的大型CSMA/CD协议以太网络模拟 |
473.astar 寻路算法 |
C++ |
实现了2D寻路算法A*的三种不同版本 |
483.xalancbmk XML处理 |
C++ |
XML文档/XSL表到HTML文档的转换 |
410.bwaves 流体力学 |
Fortran 77 |
对三维瞬跨音速粘性流中冲击波的模拟计算 |
416.gamess 量子化学 |
Fortran |
三种SCF自洽场计算: 胞嘧啶分子 水和Cu2+离子 三唑离子 |
433.milc 量子力学 |
C |
四维SU(3)格点规范理论的模拟,用来研究QCD量子色动力学、夸克及胶子 |
434.zeusmp 物理:计算流体力学 |
Fortran 77/REAL*8 |
用来计算理想、非相对论条件下的流体力学和磁流体力学,434.zeusmp模拟计算了一个统一磁场中的3D冲击波 |
435.gromacs 生物化学/分子力学 |
C & Fortran |
GROMACS是一个分子力学计算套件,然而也可以用于非生物系统,435.gromacs模拟了在一个水和离子溶液中的蛋白质溶菌酶结构在各种实验手段如核磁共振的X光照射下的变化 |
436.cactusADM 物理:广义相对论 |
Fortran 90, ANSI C |
436.cactusADM对时空曲率由内部物质决定的爱因斯坦演化方程进行求解,爱因斯坦演化方程由10个标准ADM 3+1分解的二阶非线性偏微分方程组成。 |
437.leslie3d 流体力学 |
Fortran 90 |
LESlie3d是用来计算湍流的计算流体力学程序,437.leslie3d计算了一个如燃油注入燃烧室的时间分层混合流体。 |
444.namd 生物/分子 |
C++ |
NAMD是一个大型生物分子系统并行计算程序,444.namd模拟了了92224个原子组成的A-I载脂蛋白 |
447.dealII 有限元分析 |
C++ w/Boost lib |
deal.II是定位于自适应有限元及误差估计的C++库,447.dealII对非常系数的亥姆霍兹方程进行求解,它使用了基于二元加权误差估计生成最佳网格的自适应方法,该方程在3维得解 |
450.soplex 线形编程、优化 |
ANSI C++ |
SoPlex使用单纯形算法解线性方程 |
453.povray 影像光线追踪 |
ISO C++ |
POV-Ray是一个光线追踪渲染软件,453.povray渲染一幅1280x1024的反锯齿国际象棋棋盘图像 |
454.calculix 结构力学 |
Fortran 90 & C w/SPOOLES code |
CalculiX是一个用于线性及非线性三位结构力学的有限元分析软件,454.calculix计算了一个高速旋转的压缩盘片在离心力的作用下的应力和变形情况 |
459.GemsFDTD 计算电磁学 |
Fortran 90 |
459.GemsFDTD使用FDTD(有限差分时域)方法求解三维时域中的麦克斯韦方程,计算了一个理想导体的雷达散射截面 |
465.tonto 量子化学 |
Fortran 95 |
Tonto是一个面向对象的量子化学程序包,465.tonto计算面向量子晶体学,它基于一个符合X光衍射实验数据的、约束的分子Hartree-Fock波函数 |
470.lbm 流体动力学 |
ANSI C |
470.lbm使用LBM(格子波尔兹曼方法)模拟非压缩流体,它模拟了两种情况:类似活塞推动的剪切驱动流体和管道流体,测试包含了3000个步骤 |
481.wrf 天气预报 |
Fortran 90 & C |
481.wrf基于WRF(Weather Research and Forecastin)模型,对NCAR的数据进行了计算,数据包括了UTC 2001.06.11到UTC 2001.06.12以三小时为间隔的数据 |
482.sphinx3 语音识别 |
C |
语音识别 |
-
speccpu结果分析
- speccpu测试结果
测试结果如下表格,通过运行3边后进行几何平均,最终结果为6.36
Benchmark |
Base Ref Time |
Est. Base Run Time |
Est. Base Ratio |
410.bwaves |
13590 |
2345.212974 |
5.794783 |
410.bwaves |
13590 |
2337.980984 |
5.812708 |
410.bwaves |
13590 |
2345.828369 |
5.793263 |
416.gamess |
19580 |
2882.236928 |
6.793335 |
416.gamess |
19580 |
2882.054694 |
6.793764 |
416.gamess |
19580 |
2882.011741 |
6.793865 |
433.milc |
9180 |
1389.770163 |
6.605409 |
433.milc |
9180 |
1381.879463 |
6.643126 |
433.milc |
9180 |
1382.592613 |
6.6397 |
434.zeusmp |
9100 |
1870.951578 |
4.863835 |
434.zeusmp |
9100 |
1866.050487 |
4.87661 |
434.zeusmp |
9100 |
1866.597078 |
4.875182 |
435.gromacs |
7140 |
1196.091618 |
5.969442 |
435.gromacs |
7140 |
1194.47779 |
5.977508 |
435.gromacs |
7140 |
1194.419491 |
5.977799 |
436.cactusADM |
11950 |
1596.982379 |
7.482863 |
436.cactusADM |
11950 |
1598.745173 |
7.474612 |
436.cactusADM |
11950 |
1596.120663 |
7.486903 |
437.leslie3d |
9400 |
1533.059046 |
6.131532 |
437.leslie3d |
9400 |
1533.601336 |
6.129363 |
437.leslie3d |
9400 |
1527.367251 |
6.154381 |
444.namd |
8020 |
1087.145788 |
7.377115 |
444.namd |
8020 |
1087.097962 |
7.37744 |
444.namd |
8020 |
1087.308903 |
7.376009 |
447.dealII |
11440 |
1991.57422 |
5.7442 |
447.dealII |
11440 |
1994.193432 |
5.736655 |
447.dealII |
11440 |
1997.198332 |
5.728024 |
450.soplex |
8340 |
1098.968171 |
7.588937 |
450.soplex |
8340 |
1100.732478 |
7.576773 |
450.soplex |
8340 |
1106.019762 |
7.540552 |
453.povray |
5320 |
726.897171 |
7.318779 |
453.povray |
5320 |
728.102826 |
7.30666 |
453.povray |
5320 |
726.627943 |
7.321491 |
454.calculix |
8250 |
2081.273223 |
3.96392 |
454.calculix |
8250 |
2080.537416 |
3.965322 |
454.calculix |
8250 |
2080.697451 |
3.965017 |
459.GemsFDTD |
10610 |
2579.506685 |
4.11319 |
459.GemsFDTD |
10610 |
2570.361322 |
4.127824 |
459.GemsFDTD |
10610 |
2569.630519 |
4.128998 |
465.tonto |
9840 |
2433.295722 |
4.043898 |
465.tonto |
9840 |
2431.072732 |
4.047596 |
465.tonto |
9840 |
2426.425692 |
4.055348 |
470.lbm |
13740 |
890.606934 |
15.427681 |
470.lbm |
13740 |
894.83802 |
15.354734 |
470.lbm |
13740 |
891.525598 |
15.411784 |
481.wrf |
11170 |
2374.824669 |
4.703505 |
481.wrf |
11170 |
2370.351651 |
4.712381 |
481.wrf |
11170 |
2365.975966 |
4.721096 |
482.sphinx3 |
19490 |
1664.895163 |
11.706443 |
482.sphinx3 |
19490 |
1673.506584 |
11.646205 |
482.sphinx3 |
19490 |
1665.45692 |
11.702494 |
Selected Results Table |
|||
Benchmark |
Base Ref Time |
Est. Base Run Time |
Est. Base Ratio |
410.bwaves |
13590 |
2345.212974 |
5.794783 |
416.gamess |
19580 |
2882.054694 |
6.793764 |
433.milc |
9180 |
1382.592613 |
6.6397 |
434.zeusmp |
9100 |
1866.597078 |
4.875182 |
435.gromacs |
7140 |
1194.47779 |
5.977508 |
436.cactusADM |
11950 |
1596.982379 |
7.482863 |
437.leslie3d |
9400 |
1533.059046 |
6.131532 |
444.namd |
8020 |
1087.145788 |
7.377115 |
447.dealII |
11440 |
1994.193432 |
5.736655 |
450.soplex |
8340 |
1100.732478 |
7.576773 |
453.povray |
5320 |
726.897171 |
7.318779 |
454.calculix |
8250 |
2080.697451 |
3.965017 |
459.GemsFDTD |
10610 |
2570.361322 |
4.127824 |
465.tonto |
9840 |
2431.072732 |
4.047596 |
470.lbm |
13740 |
891.525598 |
15.411784 |
481.wrf |
11170 |
2370.351651 |
4.712381 |
482.sphinx3 |
19490 |
1665.45692 |
11.702494 |
SPECfp_base2006 |
6.364892文章来源地址https://www.toymoban.com/news/detail-524205.html文章来源:https://www.toymoban.com/news/detail-524205.html |
6.364892 |
到了这里,关于speccpu测试工具介绍和使用说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!