【转载】
SpecCPU介绍见:
https://blog.csdn.net/qq_36287943/article/details/103601539
官网:https://spec.org/

1、SpecCPU2017是一套CPU子系统测试工具,包括4大种类套件共43个基准测试。4大种类套件如下:
整数型:SPECrate 2017 Integer,对应用例编号为5xx
SPECspeed 2017 Integer,对应用例编号为6xx
浮点型:SPECrate 2017 Floating Point,对应用例编号为5xx
SPECspeed 2017 Floating Point,对应用例编号为6XX

SPEC基准广泛用于评估计算机系统的性能。SPEC CPU套件通过测量几个程序(例如编译器GCC,化学程序游戏和天气程序WRF等)的运行时间来测试CPU性能。

benchmark 基准如下:(安装目录内)

43个benchmark的使用场景如下表所示:(官网)

2、Spec2017测试有两种评估方式,分为speed和rate。speed是测试完成一项任务需要的时间,即速度测试;rate是测试单位时间内可以完成多少任务,即throughput(吞吐量测试)。speed和rate测试又有整数(Integer)和浮点(Floating Point)测试之分、base(基准测试)和peak(峰值测试)之分,如果是要生成报告的测试,要么是使用base,要么是base和peak一起用。可通过设置测试模式来实现:
–tune base 或者 --tune all 默认是base 可以选择base, peak, or all ,Report 首先是base,其次是peak.

speed与rate说明 (速度与吞吐量)
speed:包含10个整形测试和10个浮点测试。speed测试只运行一次测试题,测试分数高,说明单次运行时间短。
rate:包含10个整形测试和13个浮点测试,rate测试是运行多个相同的测试题,运行数量由测试者指定,分数高,代表更大的通量(固定时间处理问题的数量)
base与peak说明 (基准与峰值)
base:base是简单的标准的配置
peak:peak是可以提供更多个性化的配置编译选项

Spec2017 计算rate分值的公式:ratio=copies*(reference_time/test_time)
copies:指定相同问题的数量
reference_time:SPEC给出的参考时间
test_time:测试得出的时间
说明:公式含义为,参考时间与单份测试所用时间的比值。ratio越高表示相同时间可以处理更多的问题,即机器的通量高。本测试过程中设置copies,分别为对应cpu的核数。

Spec2017 计算speed分值算法公式:ratio=reference_time/test_time
reference_time:SPEC给出的参考时间
test_time:测试得出的时间
ratio越高表示完成同样的问题用时更少。

3、整数和浮点
cpu整数能力 (执行加法,减法,乘法)

cpu浮点能力(执行除法,也就是小数点的位移)

SpecCPU2017 工具安装步骤
1、下载软件(推荐使用1.0.5或更高版本的SPEC CPU 2017。本例中使用的版本为1.0.5)

a.SPEC官网下载SPEC CPU®2017测试工具。
https://www.spec.org/cpu2017/? ####官网收费下载

b.百度网盘下载cpu2017-1.05.iso
链接:https://pan.baidu.com/share/init?surl=kMoMJ5Ufg5oZql4HjyacAg
提取码:5thr

2、安装测试工具
安装步骤参考文章:
https://support.huaweicloud.com/instance-evaluation-ecsie/ecsie_ipeg_0001.html

其中
a.在编译源码升级gcc时候mpc的包有点问题,需要重新官网下载源码包
https://mirrors.sjtug.sjtu.edu.cn/gnu/mpc/mpc-1.0.3.tar.gz
b.编译gcc时有个报错需要用到gcc-c++ ,故需要安装gcc-c++

3、测试步骤
a.Speccpu2017 安装完成需执行命令

source shrc
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
–threads 线程数(貌似指定后未生效仍是1)
– copies参数的取值必须等于当前CPU核数

部分参数说明
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 : 表示测试中,如遇报错,略过错误继续测试;

正确运行结果如下:

运行过程

Runcpu 运行时间会很长,大概3天以上

运行结果汇总在安装目录下的result目录下

在运行过程中,需要查看执行完哪些用例可以查看
cat cat CPU2017.001.log.debug | grep -i success

参考资料
[1] https://blog.csdn.net/qq_36287943/article/details/103601539
[2]https://support.huaweicloud.com/instance-evaluation-ecsie/ecsie_ipeg_0001.html
[3]https://www.spec.org/cpu2017/Docs/quick-start.html
[4]https://www.spec.org/cpu2017/Docs/runcpu.html
[5]https://www.spec.org/cpu2017/Docs/overview.html

问题1:
测试Intel(Intel® Xeon® Gold 5220 CPU @ 2.20GHz 共72C) cpu时候执行命令报错
runcpu --config=spec17-opti-gcc7.3.cfg fprate –threads 72 --tune=all –reportable
查看top 服务器的负载到80%+,查看执行过程中发现

未能发现有用信息,结合服务器cpu负载为80%+,cpu使用率搭99%,判断可能是cpu超负载运行,从而把程序kill 掉,继续查看执行的步骤发现 copies 指定为 96(配置文件内被写死了) 而服务器为72核

修改执行命令加上参数
runcpu --config=spec17-opti-gcc7.3.cfg fprate –threads 72 —copies=72 --tune=all –reportable
之后 copies 显示为72,用例可以继续执行下去

问题2:执行命令指定的线程数未生效,暂未找到原因

其他参数见:
https://www.spec.org/cpu2017/Docs/runcpu.html

SpecCPU2017 测试cpu性能相关推荐

  1. 20线程测试cpu性能软件,CPU常用跑分软件 你知道那些?

    跑分测试是检测硬件性能的重要手段,但毕竟需要专业测试软件,很多小伙伴对于测试软件一头雾水,不知道有哪些测试软件,本次笔者就给大家科普一下CPU测试中常用的测试软件,帮助大家更好的了解自己电脑的性能. ...

  2. win7系统稳定测试软件,win7系统电脑测试cpu性能的方法(图文)

    一般情况,购买电脑都比较注重cpu性能,cpu是一台计算机的运算核心和控制核心,所以是非常重要的.很多用户遇到win7系统电脑开机CPU就达到80多度,并且会自动关机或重启,非常麻烦,怎么回事呢?这种 ...

  3. 20线程测试cpu性能软件,评测平台介绍、CPU多线程性能测试

    2.平台介绍及CPU性能测试 AMD AM3+平台 CPUAMD FX-8150(4模块/8核) AMD FX-8350(4模块/8核) 主板华硕 Crosshair V Formula(BIOS版本 ...

  4. 20线程测试cpu性能软件,3DMark推出CPU专用测试工具CPU Profile,可对比不同线程下的CPU性能...

    拼 命 加 载 中 ... 其实3DMark的各个测试里面都混有一个物理测试,这个测试其实就是跑CPU的,我们在测试CPU时也经常单独跑这个物理测试,现在3DMark推出了一个专门跑CPU性能的测试- ...

  5. linux 测试cpu计算圆周率_Linux下测试CPU性能

    一.安装stress服务 2.解压tar xvf stress_1.0.1.orig.tar.gz 3.进入解压目录执行./configure 4.make 5.make  check 6.make ...

  6. iphone测试cpu性能的软件,iPhone 6S三大性能实测:恐怖黑科技!

    iPhone 6S.6S Plus的评测早已经很多很多,不过主流媒体谈得更多的是体验方面,性能上虽然也有一些测试但都很零星.权威科技媒体AnandTech正在对iPhone 6S进行全方位的性能评测, ...

  7. 测试cpu性能 c语言,性能测试方案和用例模板

    XX项目 性能测试方案 1. 引言 1.1. 文档版本 版本 作者 审批 备注 V1.0 dayu XXX 1.2. 项目情况 项目名称 XXXXXXXX 项目版本 V2.31 项目经理 XXX 测试 ...

  8. Linux下Linpack测试CPU性能的相关库、环境搭建部署

    1.简介: Linpack是线性系统软件包(Linear system package) 的缩写,是国际上使用最广泛的测试高性能计算机系统浮点性能的基准测试. 2.相关条件: 编译器:支持C和Fort ...

  9. 使用dd命令测试CPU性能--用Enki学Linux系列(16)

    dd命令也可以作为一个简单的CPU性能测试工具来使用!你可以用如下方法运行这个"开箱即用"的功能: $ dd if=/dev/zero bs=1M count=1024 | md5 ...

最新文章

  1. Nature Protocols:整合宏基因组、代谢组和表型分析的的计算框架
  2. c语言中fflush的运用为什么没有效果呢,测试平台linux
  3. 3高并发服务器:多路IO之epoll
  4. vue 组件 - 非单文件组件
  5. 当前日期增加自然月(比如当前时间为3月31号,加上1个月,预期结果是4月30日,但是输出了5月1日)...
  6. 50以内的质数顺口溜_100以内质数表顺口溜
  7. Nacos 服务治理(服务注册中心)
  8. 华科计院数据库课程笔记
  9. zookeeper启动报错already running as process处理
  10. Windows VScode SSH连接 Bad owner or permissions on C:\\Users\\admin/.ssh/config 错误解决方法
  11. python如何调整word表格宽度_python-docx编辑word表格
  12. 中国特种腈行业市场供需与战略研究报告
  13. 怎么做期货可以每天都赚钱?都有哪些技巧和方法?
  14. 单片机优雅的开发Clion环境搭建
  15. 新冠科普:一篇读懂抗体
  16. 沈阳建筑学计算机专硕调剂,2020年沈阳建筑大学硕士研究生招生考试网上调剂公告...
  17. java视频学习网(java教程视频网)
  18. ad19中原理图库添加_altium designer 工程中的原理图库和封装如何提取出来
  19. 博途plc连接电脑_S7-1200PLC以太网连接电脑
  20. 倩女手游养育系统服务器,倩女幽魂手游养育系统怎么玩 养育系统问题详解[多图]...

热门文章

  1. linux IO_FILE 利用
  2. Java实例——线程
  3. php 除法向上取整,PHP - 除法取整数
  4. 自然语言处理——文本分类概述
  5. CV【2】:卷积与Conv2d
  6. Android 实现人脸识别
  7. 银行外包Java开发的一些感想2023.2.5
  8. GSM和GPRS网络原理的基本思路
  9. 同步和异步的区别是什么?
  10. 判断一个数是否为两个素数的乘积