[转帖]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分为社区版和商业版,由于其体积小.速度快.总体拥有成本低,尤其是开放源码 这一特点,一般中 ...
随机推荐
- Nacos是什么?
摘要:Nacos是 Dynamic Naming and Configuration Service的首字母简称,相较之下,它更易于构建云原生应用的动态服务发现.配置管理和服务管理平台. 本文分享自华 ...
- DevCloud加持下的青软,让教育“智”上云端
摘要:构建多体系人才云实践环境,提供企业所需人才培养平台,构建以学习为中心的全新教育生态. 本文分享自华为云社区<[云享·伙伴]第5期:华为云DevCloud加持下的青软,让教育"智& ...
- 高性能 Jsonpath 框架,Snack3 3.2.57 发布
Snack3,一个高性能的 JsonPath 框架 借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计.其下一切数据都以ONode表示,ONode也 ...
- PPT 文字穿插
软件文字,添加一个形状 先选形状,再选文字 选择拆分 设置对象格式
- 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
使用 Kubeadm 部署 Kubernetes(K8S) 安装 使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- Ingress-Ngnix Volume 是 Pod 中能够被 ...
- 断点续传(上传)C#版
断点续传(上传)Java版 1. 客户每次上传前先获取一下当前文件已经被服务器接受了多少 2. 上传时设定偏移量 服务端代码如下: /// <summary> /// 断点续传,获取已上传 ...
- Mycat 学习笔记
概述 1. Mycat 是什么? Mycat 是数据库中间件,连接 Java 应用程序和数据库,它的作用如下: 读写分离 数据分片:垂直拆分(分库).水平拆分(分表).垂直+水平拆分(分库分表) 多数 ...
- Nginx--引用多配置文件
在nginx.conf的http模块,include 指定某个目录下的*.conf user nginx; worker_processes auto; error_log /var/log/ngin ...
- Cpp 值的种类划分
本博文会介绍移动语义的形式术语和规则.并且会正式的介绍值的类别,如 lvalue.rvalue.prvalue和 xvalue,并讨论了在绑定对象引用时的作用.也会讨论移动语义不会自动传递的细节,以及 ...
- Android 加载图片占用内存分析
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/aRDzmMlkqB14Ty67GJs9vg作者:Xu Jie 不同Android版本,对一张图 ...