https://www.bbsmax.com/A/GBJrxP1Ed0/

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 CPU2017测试工具。

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(R) Xeon(R) 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. SpecCPU2017 测试cpu性能

    SpecCPU介绍见: https://blog.csdn.net/qq_36287943/article/details/103601539 官网:https://spec.org/ 1.SpecC ...

  2. Linux下测试CPU性能

    一.安装stress服务 1.下载stress_1.0.1.orig.tar.gz安装包 2.解压tar xvf stress_1.0.1.orig.tar.gz 3.进入解压目录执行./config ...

  3. unixbench测试CPU性能工具

    UnixBench是一个类unix系(Unix,BSD,Linux)统下的性能测试工具,一个开源工具,被广泛用与测试linux系统主机的性能.Unixbench的主要测试项目有:系统调用.读写.进程. ...

  4. 来一个使用sysbench测试cpu性能的简单脚本

    #!/bin/bash for ((i=1; i<16; i++)); do sysbench cpu run --cpu-max-prime=10000 --threads=4 --time= ...

  5. 关于如何测试cpu性能的命令操作 linux系统

    for i in `seq 1 $(cat /proc/cpuinfo |grep "physical id" |wc -l)`; do dd if=/dev/zero of=/d ...

  6. Linux 下用 superpi 测试 CPU 性能

  7. [转帖]超能课堂(210) 笔记本中常说的PL1、PL2到底如何影响CPU性能?

    超能课堂(210)笔记本中常说的PL1.PL2到底如何影响CPU性能? https://www.expreview.com/71943.html 本文约 4070 字,需 7 分钟阅读 (切换至标准版 ...

  8. [转帖]linux下CPU、内存、IO、网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具

    linux下CPU.内存.IO.网络的压力测试,硬盘读写速度测试,Linux三个系统资源监控工具 https://blog.51cto.com/hao360/1587165 linux_python关 ...

  9. [转帖]国产CPU性能最全盘点 宜良性竞争优胜劣汰

    国产CPU性能最全盘点 宜良性竞争优胜劣汰 电子工程专辑的网站内容 其实里面说的不尽全面 比如龙芯和申威就放到一块了 一个是 MIPS 一个是Alpha 明显不一样的东西 x86的应该都不行 而且. ...

  10. intel和AMD CPU性能对比(2016年CPU天梯图)组装电脑必读!

    http://www.365pcbuy.com/article-411.html 特别提示:此文已经于2016年10月12日更新!内容变动较大,请细细品鉴! 如何为客户推荐高性价比机型是我站的重要工作 ...

随机推荐

  1. 实践丨GaussDB(DWS)资源管理排队原理与问题定位

    摘要:GaussDB(DWS)提供了资源管理功能,用户可以根据自身业务情况对资源进行划分,将资源按需划分成不同的资源池,不同资源池之间资源互相隔离. 本文分享自华为云社区<GaussDB(DWS ...

  2. 从相识到相惜:Redis与计算存储分离四部曲

    摘要:协议兼容问题.性能问题.数据备份问题.数据容量问题--这些都是数据库在使用过程中必然会遇见的问题.就好比选择结婚对象,你需要去对比不同的方面,最后选出最好的.最合适的. 近期全国两会正在轰轰烈烈 ...

  3. Python图像处理丨如何调用OpenCV绘制直方图

    摘要:本篇文章主要讲解灰度直方图的基本概念,Python调用OpenCV实现绘制图像直方图. 本文分享自华为云社区<[Python图像处理] 十一.灰度直方图概念及OpenCV绘制直方图> ...

  4. 浏览器层面优化前端性能(2):Reader引擎线程与模块分析优化点

    Reader 引擎线程与模块分析 首先是网页内容,加载完输入到HTML解释器,解释后构成DOM树,这期间如果遇到JavaScript代码就交给JavaScript引擎去处理,如果网页中包含CSS,就交 ...

  5. 十问ByteHouse:如何基于ClickHouse玩转向量检索?

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 向量检索被广泛使用于以图搜图.内容推荐以及大模型推理等场景.随着业务升级与 AI 技术的广泛使用,用户期望处理的向 ...

  6. 基于迁移学习的基础设施成本优化框架,火山引擎数智平台与北京大学联合论文被KDD收录

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   基于迁移学习的基础设施成本优化框架,火山引擎数智平台与北京大学联合论文被KDD收录 近期,第29届国际知识发现 ...

  7. Mac Maven环境变量配置 zsh: command not found: mvn

    之前配过环境变量,但是后来打开还是报 zsh: command not found: mvn 需要在运行前先刷下环境变量 source ~/.bash_profile 每次使用前都刷一下比较麻烦,这是 ...

  8. PPT 画册风格

    图片嵌入 图片填充 图片裁剪 字体 PPT 关掉再打开. 排列对齐 图片下载 https://www.pexels.com http://www.500px.com http://www.bing.c ...

  9. C# 写日志文件

    常用方法: public class FileHelper { private static void Write(string fileName, byte[] bytes) { FileStrea ...

  10. 测试如何定位判断是前端的bug还是后端bug

    测试如何定位判断是前端的bug还是后端bug 软件测试工程师的职责是发现BUG,此外,如何体现个人价值,只是提出问题而不去解决,问题就永远得不到闭环.所以,一个资深的测试人员的基本功应该是这样的:深挖 ...