[转帖]spec2017 安装和使用
https://zhuanlan.zhihu.com/p/534205632
SPEC成立于1988年,SPEC基准广泛用于评估计算机系统的性能。SPEC CPU套件通过测量几个程序(例如编译器GCC,化学程序游戏和天气程序WRF)的运行时间来测试CPU性能。
安装编译器
运行speccpu2017需要gcc,g++和gfrogran支持,可以通过如下方式安装这3个编译器。
yum install gcc gcc-c++ gcc-fortran -y
安装spec2017
安装的前提是需要有spec2017的镜像文件,跳转的镜像文件所在目录,然后执行如下操作进行安装:
sudo mount -t iso9660 -o,exec,loop cpu2017.iso /mnt
cd /mnt
./install.sh #回车后输入指定目录作为安装目录,例如/home/admin/cpu2017
cd /home/admin/2017
source shrc
cp Example-gcc-linux-x86.cfg admin-try1.cfg
vim admin-try1.cfg #修改copy的配置文件,有两处需要修改
#将115行的 % define gcc_dir /SW/compilers/GCC/Linux/x86_64/gcc-6.3.0改为% define gcc_dir /usr
#去掉215行的-fno-tree-loop-vectorize编译选项
#到这里后不着急开始测试,先读一读本文后边的参数配置说明
runcpu --config=hygon-try1 SPECspeed2017_int_base
参数配置说明
spec2017的metrics介绍
spec2017测试有两种评估方式,分为speed和rate,speed测试完成一项任务需要的时间,rate测试单位时间内可以完成多少任务,即throughput。speed和rate测试又有整形(int)和浮点测试之分、base和peak测试之分,所有共有8个metrics,base和peak的区别可以参考最后的参考资料[3]的Q16。下表是这8个metrics的简单介绍。

图1 spec2017的metrics
benchmarks
spec2017共有43个benchmark,分为4个suite,从上图中也可以看出benchmark的数量,这43个benchmark的使用场景如下表所示:

参数说明
参数信息可以通过命令runcpu -h进行查看,下面介绍几个常用的参数。
size
size参数很重要,size有3个测试集,分别是test,train和ref,它们之间区别目前还不是很清楚,只知道test最小,测试需要的时间最少,ref最大,测试需要的时间也最多,还有就是它们包含的benchmark不一样。如果不指定size,spec2017默认使用ref,可以用如下方式指定使用的测试集。
runcpu --config=hygon-try1 SPECspeed2017_int_base -i test
tune
tune参数有两个值,分别是base和peak,默认使用base,如果是生成报告的测试,要么是使用base,要么是base和peak一起用。tune的使用方法如下:
runcpu --config=hygon-try1 SPECspeed2017_int_base -i test --tune base
当然了还可以通过参数--threads指定使用的线程数,通过参数--iterations指定测试集重复执行次数,还有很多啦。
错误及解决方法
错误1
错误描述:
Running 627.cam4_s refspeed (ref) base mumble threads:4 [2017-09-25 03:59:50]
627.cam4_s: copy 0 non-zero return code (exit code=139, signal=0)
Investigating the run directory shows that the output file h0.nc does not exis
解决方法:
ulimit -s unlimited
参考资料
[1]https://www.spec.org/cpu2017/Docs/quick-start.html
[2]https://www.spec.org/cpu2017/Docs/runcpu.html
[3]https://www.spec.org/cpu2017/Docs/overview.html
备注:
这篇博客是当时测试CPU时的一些笔记,最开始写在简书上,现在挪到知乎上来。
[转帖]spec2017 安装和使用的更多相关文章
- [转帖]Nginx安装及配置详解 From https://www.cnblogs.com/zhouxinfei/p/7862285.html
Nginx安装及配置详解 nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP ...
- [转帖]Ubuntu 安装VNC的一个方法
来源: https://blog.csdn.net/CSDN_duomaomao/article/details/75270271 Ubuntu 16.04 LTS 安装VNC,在百度和谷歌找了很多教 ...
- [转帖]CentOS7安装xrdp(windows远程桌面连接linux)
CentOS7安装xrdp(windows远程桌面连接linux) https://blog.csdn.net/sgrrmswtvt/article/details/81869208 You Konw ...
- vue可视化图表 基于Echarts封装好的v-charts简介
**vue可视化图表 基于Echarts封装好的v-charts** 近期公司又一个新的需求,要做一个订单和销售额统计的项目,需要用到可视化图表来更直观的展示数据.首先我想到的是Echarts,众所周 ...
- [转帖]完美解决NVIDIA最新显卡驱动无法安装。(修改教程篇,各机型都可以)
http://blog.sina.com.cn/s/blog_53e2b55e0100lyx2.html ———————————————————————————————————— 前段时间,有 ...
- [转帖]Ubuntu 18.04 server安装图形界面及realvnc远程桌面连接
Ubuntu 18.04 server安装图形界面及realvnc远程桌面连接 https://blog.csdn.net/networken/article/details/88938304 转帖 ...
- win10家庭中文版CUDA+CUDNN+显卡GPU使用tensorflow-gpu训练模型安装过程(精华帖汇总+重新修改多次复现)
查看安装包 pip list 本帖提供操作过程,具体操作网上有好多了,不赘述.红色字体为后来复现出现的问题以及批注 题外话: (1)python 的环境尽量保持干净,尽量单一,否则容易把自己搞晕,不知 ...
- 【转帖】嵌入式4412开发板QT5.7编译安装到arm
QT5.7.0+UBUNTU16.04+ARM-NONE-LINUX-GNUEABI4.8+busybox最小LINUX系统 Orandragon记录 本文转自迅为4412开发板群:http://to ...
- Discuz的安装 (原创帖,转载请注明出处)
========================写在前面的话========================= 1.LAMP环境搭建请查看这篇日志:http://www.cnblogs.com/yic ...
- linux mysql5.5安装与配置(转帖,在网上收集,自用)
MySQL是一个关系型数据库管理系统 ,由瑞典MySQL AB公司开发,目前属于Oracle 公司.MySQL分为社区版和商业版,由于其体积小.速度快.总体拥有成本低,尤其是开放源码 这一特点,一般中 ...
随机推荐
- C++篇:第十三章_异常_知识点大全
C++篇为本人学C++时所做笔记(特别是疑难杂点),全是硬货,虽然看着枯燥但会让你收益颇丰,可用作学习C++的一大利器 十三.异常 ① 函数指针与该指针所指的函数必须具有一致的noexcept异常说明 ...
- 数据库面试要点:关于MySQL数据库千万级数据查询和存储
摘要:百万级.千万级数据处理,核心关键在于数据存储方案设计,存储方案设计的是否合理,直接影响到数据CRUD操作.总体设计可以考虑一下几个方面进行设计考虑: 数据存储结构设计:索引设计:数据主键设计:查 ...
- 带你了解数据库的“吸尘器”:VACUUM
摘要:在GaussDB(DWS)中,VACUUM的本质就是一个"吸尘器",用于吸收"尘埃". 下面将从VACUUM的作用.用法.原理等方面进行介绍. 在Gaus ...
- 带你认识三种kafka消息发送模式
摘要:在kafka-0.8.2之后,producer不再区分同步(sync)和异步方式(async),所有的请求以异步方式发送,这样提升了客户端效率. 本文分享自华为云社区<kafka消息发送模 ...
- Java注解(批注)的基本原理
为什么要使用注解? 早期版本的Spring是通过XML文件的形式对整个框架进行配置的,一个缩减版的配置文件如下 <?xml version="1.0" encoding=&q ...
- React Native 打包 App 发布 iOS 及加固混淆过程
React Native 打包 App 发布 iOS 及加固混淆过程 摘要 本文将介绍如何使用 React Native 打包并发布 iOS 应用到 App Store,并介绍了如何进行应用的加固和混 ...
- Docker 删除 images
1 查看本地已用镜像文件 [root@localhost web]# docker images 2.删除镜像 Redis [root@localhost web]# docker rmi 59589 ...
- 断点续传(上传)Java版
PostMan 客户端调用部分见,断点续传(上传)C#版 1. 客户每次上传前先获取一下当前文件已经被服务器接受了多少 2. 上传时设定偏移量,跳过服务器已收到的长度 @SpringBootTest ...
- Java ZIP文件解压
Java ZIP文件解压 备忘笔记 代码: private byte[] unZip(byte[] data) { byte[] bArr = null; try { ByteArrayInputSt ...
- SpringCloud学习 系列三、 创建一个没有使用springCloud的服务提供者和消费者
系列导航 SpringCloud学习 系列一. 前言-为什么要学习微服务 SpringCloud学习 系列二. 简介 SpringCloud学习 系列三. 创建一个没有使用springCloud的服务 ...