一、前言
1、软件说明
SPEC cpu 2017 | SPEC Software MD5 Checksums | CPU计算性能speccpu2006的测试方法及工具下载
- SPEC
SPEC(the Standard Performance Evaluation Corporation)是一个由计算机硬件厂商、软件公司、大学、研究机构、系统集成商、出版发型及咨询机构组成的非营利性组织,致力于创建、维护并引导一个计算机系统及业界公认的系统指标。
- SPEC cpu
SPEC cpu是由SPEC组织开发的一种处理器性能测试工具,旨在全面评估CPU在科学计算、商业应用以及多媒体处理等不同任务中的性能。
SPEC cpu是付费软件,目前可用版本如下:
序号 | 测试基准 | 最新版本 | 发布时间 | 软件价格 | 备注 |
---|---|---|---|---|---|
1 | SPEC CPU 2006 | v1.2 | 2011/09/07 | $800 | 包含29个基准测试,2018年1月9日已停止维护更新 |
2 | SPEC CPU 2017 | v1.1.9 | 2022/12/01 | $1000 | 包含43个基准测试 |
2、测试内容
2.1、SPEC CPU 2006
SPEC CPU 2006包含SPECint(整数运算,包含12个测试项)、SPECfp(浮点数运算,包含17个测试项)两种基准测试,总共29个测试项
SPEC CPU根据测试项分别提供了不同的源代码(使用C和Fortran语言),测试模式可分为rate
和speed
两种,rate
用于评估系统多并发处理性能,speed
用于评估系统单任务处理性能
2.2、SPEC CPU 2017
SPEC CPU 2017包含SPECspeed® 2017 Integer、SPECspeed® 2017 Floating Point、SPECrate® 2017 Integer、SPECrate® 2017 Floating Point四种基准测试,总共43个测试项
SPEC speed两种测试分别用于比较计算机完成整数、浮点数测试的单个任务完成时间,SPEC rate两种测试分别用于比较计算机完成整数、浮点数测试的每单位时间吞吐量或工作量
3、测试原理
SPEC CPU工具可分为测试工具(tools)、测试基准(benchmark)两部分
运行测试之后,会由测试工具按照预先配置的编译器及编译参数自动编译各个测试项目,编译完成后再自动运行测试集,由测试工具统计测试集每个项目测试结果,综合给出测试评分
注:SPEC CPU在./tools/bin/
目录下提供了部分平台预编译二进制工具包,在有预编译过的平台上执行install.sh
可以直接执行安装,对于不支持的平台需要自行编译测试工具(如LoongArch平台等)
二、安装部署
1、SPEC CPU 2006
1.1、安装依赖
安装C语言、Fortran语言编译依赖环境
- Ubuntu
apt-get install gcc g++ gfortran libbz2-dev -y
1.2、安装软件
1.2.1、一键安装(适用于x86/AMD等常见平台)
- 从官网获取cpu2006-1.2.iso文件,运行安装脚本将SPEC CPU安装到
/home/cpu2006-1.2
mount cpu2006-1.2.iso /tmp -o loop
cd /tmp
./install.sh -d /home/cpu2006-1.2
- 配置环境变量,验证环境是否正常
cd /home/cpu2006-1.2
source shrc
runspec -V
1.2.2、编译安装(适用于ARM/MIPS等新平台)
https://www.spec.org/cpu2006/Docs/tools-build.html | 在龙芯3A5000上测试SPEC CPU 2006
如存在测试工具预编译二进制文件在某些系统不能运行、缺少某些架构预编译二进制文件等情况,则需要自行编译测试工具,参考如下
- 解压
cpu2006.tar.xz
到/home/cpu2006-1.2
目录下
注:cpu2006.tar.xz
包含测试工具和测试集的所有源码,解压出的文件与使用安装脚本安装的文件基本一致,只是缺少了测试工具二进制文件,对应/home/cpu2006-1.2/tools/src
包含了测试工具源码
mount cpu2006-1.2.iso /tmp -o loop
tar -xf /tmp/intall_archives/cpu2006.tar.xz -C /home/cpu2006-1.2
- 执行测试工具二进制文件编译和打包
1、为保证测试数据的合理性,测试工具源码可以修改,但测试集源码不允许被修改,运行测试会自动校验测试集源码,如检测被修改过则无法运行测试
2、测试集源码对系统依赖很小,在各平台都能正常编译,正常来说不需要修改
cd /home/cpu2006-1.2/tools/src
FORCE_UNSAFE_CONFIGURE=1 ./buildtools
cd /home/cpu2006-1.2/
source shrc
packagetools linux-aarch64
- 如需将编译好的测试工具提供给其他节点使用,则将
/home/cpu2006-1.2目录打包传过去运行即可
unzip cpu2006-1.2.zip -d /home/
cd /home/cpu2006-1.2
source shrc
runspec -V
三、运行测试
1、命令详解
runspec --config=<filename> --action=<run|clean|build> --tune=<base|peak> --size=<test|train|ref> -n