服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - 服务器知识 - CPU计算性能speccpu2006的测试方法及工具下载

CPU计算性能speccpu2006的测试方法及工具下载

2023-10-13 09:59wlh_venus 服务器知识

SPEC CPU2006是SPEC组织推出的CPU子系统评估软件,重点测试系统的处理器、内存子系统和编译器。SPEC CPU2006测试中,测试系统的处理器、内存子系统和使用到的编译器(SPEC CPU2006提供的是源代码,并且允许测试用户进行一定的编译优化

简介

SPEC CPU2006是SPEC组织推出的CPU子系统评估软件,重点测试系统的处理器、内存子系统和编译器。

SPEC CPU2006包括了CINT2006和CFP2006两个子项目,前者用于测量和对比整数性能、包含12个不同的基准测试,而后者则用于测量和对比浮点性能、包含17个不同的基准测试。

SPEC CPU2006测试中,测试系统的处理器、内存子系统和使用到的编译器(SPEC CPU2006提供的是源代码,并且允许测试用户进行一定的编译优化)都会影响最终的测试性能,而I/O(磁盘)、网络、操作系统和图形子系统对于SPEC CPU2006的影响非常的小。

speccpu2006-v1.0.1百度网盘下载地址:

链接:https://pan.baidu.com/s/1R-RCA3ZKSnpbyXgqEl7bSw?pwd=a3h8

提取码:a3h8

测试原理

Spec2006测试模式分为rate测试和speed测试两项,其中rate测试主要衡量系统的多并发运算处理性能即平常我们所说的多线,speed测试主要衡量系统的单任务处理性能即平常我们所说的单线。

12项整数运算和17项浮点运算会在1.5章节中详细说明,除此之外,还有两个随机数产生测试程序998.sperand(整数)和999.specrand(浮点),它们虽然也包含在套件中并得到运行,但是它们并不进行计时以获得得分。这两个测试主要是用来验证一些其他组件中会用到的PRNG随机数生成功能的正确性。

各个测试组件基本上都由C和Fortran语言编写,有7个测试项目使用了C++语言,而Fortran语言均用来编写浮点部分。

目录结构

源目录结构中每个文件/文件夹用途如下表:

文件/文件夹 用途
Benchspec 用于存放基准项测试代码、编译文件、运行文件、记录等
Bin 用于存放可执行文件,如specperl、runspec等
Config 用于存放配置文件
Docs 用于存放html格式文档
Docs.txt 用于存放txt格式文档
redistributable_sources 可再发行文件夹,包含归档文件、原始资源、SPEC修改的内容等
Result 用于存放测试结果
Tools 用于存放默认工具,安装时会编译安装tools中内容
Cshrc 设置SPEC CPU2006环境变量
install.bat 安装SPEC CPU2006,或生成二进制文件
install.sh 安装SPEC CPU2006完整的基准树,或生成二进制文件
LICENSE SPEC CPU2006基准产品的许可协议
LICENSE.txt SPEC CPU2006基准产品的许可协议
MANIFEST SPEC CPU2006的文件清单
README SPEC CPU2006的自述文件
README.txt SPEC CPU2006的自述文件
Revisions 版本更变说明文件
Shrc 设置SPEC CPU2006环境变量
shrc.bat 设置SPEC CPU2006环境变量
SUMS.tools SPEC CPU2006的bin文件夹的文件清单
uninstall.sh 卸载SPEC CPU2006工具二进制文件
version.txt 记录工具版本信息

测试方法

前置条件:保证机器物理内存大于或等于cpu核数的2倍(如CPU核数4,内存要大于等于8G)。

1.打开终端,安装依赖包:

apt-get install gcc g++ gfortran libbz2-dev

2.解压缩speccpu2006测试工具包,并附执行权限:

tar xvf speccpu2006-v1.0.1-newest.tar -C /home > /dev/null
chmod -R a+x /home/speccpu2006-v1.0.1

3.编辑 tools/src/buildtools 文件(311行和312行)

注释该行

export LD_LIBRARY_PATH DYLD_LIBRARY_PATH 

在./Configure行前加一行

export PERLFLAGS="-A libs=-lm -A libs=-ldl"

4.修改$SPECCCPU/tools/src/make-3.8.0/glob/glob.c文件,

在209行“#if !defined __alloca && !defined GNU_LIBRARY”和230行“#endif”前添加“//”注释掉。

5.安装speccpu2006:

./install.sh

在弹出的提示信息中,选择yes,后回车

6.加载环境变量:

. ./shrc (注意这里是:.空格./shrc)

7.检查SPEC CPU2006是否安装成功

runspec -V

8.选择相应配置文件进行测试:

arm平台

runspec -c arm64.cfg -n 1 -r 1 all(单线程)
runspec -c arm64.cfg -n 1 -r N all(多线程)

x86_64平台

runspec -c x86.cfg -n 1 -r 1 all(单线程)
runspec -c x86.cfg -n 1 -r N all(多线程)

mips平台

runspec -c mips64.cfg -n 1 -r 1 all(单线程)
runspec -c mips64.cfg -n 1 -r N all(多线程)

参数说明:

-n 指定测试轮数(3轮测试的话测试完成后会自动算出Base Ratio的几何平均数(几何平均数与算数平均值不同,几何平均数是对各变量值的连乘积开项数次方根),3轮以下则不显示该分数,需要手动算分; 手动算几何平均数方法:可在EXCEL表格中执行函数 =GEOMEAN(G8:G24));

-r N,设置cpu核数,N和CPU核数一致,根据台式机或服务器的核数去指定多线程N的值;

all代表浮点和整型参数都测试。

基准测试项解析

整型测试

CPU计算性能speccpu2006的测试方法及工具下载

浮点测试

CPU计算性能speccpu2006的测试方法及工具下载

CPU计算性能speccpu2006的测试方法及工具下载

测试结果

查看测试结果:

①测试结果会在测试时打印在终端输出当中,可在终端中看到结果分数;或在SPECCPU/result目录中查看测试结果文件。

②执行整数测试时,会在SPECCPU/result目录中生成以下五个文件:

“CINT2006.xxx.flags.html”

“CINT2006.xxx.pdf”

“CINT2006.xxx.rsf”

“CINT2006.xxx.txt”

“CPU2006.xxx.log”

③执行浮点测试时,会在SPECCPU/result目录中生成以下五个文件:

“CFP2006.xxx.flags.html”

“CFP2006.xxx.pdf”

“CFP2006.xxx.rsf”

“CFP2006.xxx.txt”

“CPU2006.xxx.log”

其中:

flags.html文件中间存放了本次测试中每个测试项使用的所有Flags信息;

pdf文件为最常用的结果文件,其中包含了结果的柱状图、Hardware信息、Software信息、结果的数据表、General Notes、Flags等多种信息;

rsf文件为SPEC CPU2006是原始结果文件,可通过该文件重新生成其他结果文件;

txt文件内容和pdf文件类似,区别是txt为纯文本结果文件。

示例:

单线程测试结果如下图所示:

CPU计算性能speccpu2006的测试方法及工具下载

本次测试单线程整型值为:14.2

浮点型为:13.5

多线程测试结果如下图所示:

CPU计算性能speccpu2006的测试方法及工具下载

本次测试多线程整型值为:45

浮点型为:42.6

结果判断标准:

测试项 建议值
单线整型 桌面:8.8以上;服务器:11以上
单线浮点 桌面:8.3以上;服务器:9.6以上
多线整型 与CPU核心数相关。桌面可参考如下公式:多线整型分数 >= 单线整型分数 × CPU核心数 × 3/4
多线浮点 与CPU核心数相关。桌面可参考如下公式:多线浮点分数 >= 单线浮点分数 × CPU核心数 × 3/4

调优方案:

SPEC CPU2006测试中,测试系统的处理器、内存子系统和使用到的编译器(SPEC CPU2006提供的是源代码,并且允许测试用户进行一定的编译优化)都会影响最终的测试性能,而I/O(磁盘)、网络、操作系统和图 形子系统对于SPEC CPU2006的影响非常的小。

根据上述描述,影响因素包含CPU、内存、编译器。通常的优化方案包含:

1 更换性能更强劲的CPU

2 插满内存条

3 更换内存类型,如DDR3换成DDR4

4 更新性能更佳的内核版本

5 编译器:升级gcc、g++、gfortran

6 编译器使用的库:升级libc、libm、libdl、ld、libcrypt库版本

7 编译器的编译选项:选用合适的编译参数可起到优化作用,比如-O3、-ffast-math、-funroll-loops、-fprefetch-loop-arrays等。

8.编译器选择:选择优化更好的编译器,如icc、icpc、ifort等。

常见问题FAQ

1、问题一:

问题描述:SPEC CPU2006在make阶段出现报错“glob/glob.c:xxx: undefined reference to __alooca”

解决办法:修改$SPECCCPU/tools/src/make-3.8.0/glob/glob.c文件,在209行“#if !defined __alloca && !defined GNU_LIBRARY”和230行“#endif”前添加“//”注释掉。

2、问题二:

问题描述:运行SPEC CPU2006浮点测试,416.gamess测试项无结果,报错“IEEE_UNDERFLOW_FLAG”

解决办法:修改cfg文件中416.gamess编译参数中为“FOPTIMIZE=-O3 -march=native -fno-tree-dominator-opts -std=legacy -funroll-loops -ffast-math -fwhole-program -flto=jobserver -fuse-linker-plugin -fno-aggressive-loop-optimizations”

3、问题三:

问题描述:龙芯架构机器运行SPEC CPU2006报错“/bin/ld: cannot find lm、/bin/ld: cannot find lc、/bin/ld: cannot find lgfortran”

解决办法:1) 安装glibc-static和gfortran

2)创建libgfortran软链接:$ ln -s /usr/lib64/libgfortran.so.3 /usr/lib64/libgfortran.so

4、问题四:

问题描述:SPEC CPU2006执行runspec时报“Can’t locate strict.pm”

解决办法:加载SPEC CPU2006的环境变量,执行:$ source shrc

5、问题五:

问题描述:执行时报“/usr/bin/ld:cannot find -lstdc++”

解决办法:安装glibc-static和libstdc+±static包

6、问题六:

问题描述:执行了xxxx86架构上416、447、450项报错无结果

解决办法:

1、修改源文件ecp.F中的ZFNLM(121)为ZFNLM(125)

2、修改源文件nameio.F中的X(10)为X(1)

3、修改源文件qfmm.F中的COEFF(1,2))为COEFF(1,1))

4、修改x86.cfg文件中的416项编译参数,125行修改为FOPTIMIZE=-O3 -march=native -fno-tree-dominator-opts -std=legacy -funroll-loops -ffast-math -fwhole-program -flto=jobserver -fuse-linker-plugin -fno-aggressive-loop-optimizations

5、修改源文件parameter_handler.cc中的763和777行第一个单引号为双引号

6、修改源文件mpsinput.cc第75行,==0去掉,m_input前加!

7、重新运行这几项:runspec -c x86.cfg -n 1 416.gamess

runspec -c x86.cfg -n 1 447.dealII

runspec -c x86.cfg -n 1 450.soplex

7、问题七:

问题描述:SPEC CPU2006执行install.sh时,报perl相关错误

解决办法:原因为perl编译过程未引入数学库,需要修改$SPECCPU2006/tools/src/buildtools文件中关于perl编译部分的./configure命令行上面加入export PERLFLAGS=“-A libs=-lm -A libs=-ldl”

8、问题八:

问题描述:执行SPEC CPU2006后,有几率不会将运行文件删掉,这会导致占用大量磁盘空间,对于磁盘空间较少的系统很多服务起不来(比如图形起不来)。

解决办法:执行:$ rm -rf $SPECCPU/benchspec/CPU2006//run/run

9、问题九:

问题描述:运行SPEC CPU2006测试483.xalancbmk无结果,报错“copy #0 non-zero return code”

解决办法:安装SPEC CPU2006在英文目录下,重新运行此项:$ runspec -c arm64.cfg -n 1 483.xalancbmk

10、问题十:

问题描述:运行SPEC CPU2006时,464.h264f测试项死循环长时间卡住

解决办法:在cfg文件中464.h264ref项的编译选项处添加“-fno-aggressive-loop-optimizations”

11、问题十一:

问题描述:执行SPEC CPU2006运行报“Error Comparing……”类似错误

解决办法:使硬件环境达到SPEC CPU2006的要求:

1) 内存 > CPU核心数 × 2

2) 磁盘剩余空间 > CPU核心数 × 3

到此这篇关于CPU计算性能speccpu2006的测试方法及工具下载的文章就介绍到这了,更多相关内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/wkl_venus/article/details/127688671

延伸 · 阅读

精彩推荐