Linux高阶—CPU性能压测spec(十)

2023-11-16

目录

一、基本概念

二、工作原理

三、测试套件

整数和浮点

测试套件

四、工作模式

speed 测量

rate 测量

五、测试场景

六、操作案例


一、基本概念

SPEC基准广泛用于评估计算机CPU性能工具,SPEC官网下载SPEC CPU®2017测试工具地址:https://www.spec.org/cpu2017/? ####官网收费下载。

二、工作原理

通过程序测试套件(例如编译器GCC,化学程序游戏和天气程序WRF等)的运行时间来测试CPU性能。

三、测试套件

整数和浮点

cpu整数能力 (执行加法,减法,乘法)

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

测试套件

它有几种不同的方法来衡量计算机性能。包括4大种类套件共43个基准测试。4大种类套件如下:

整数型

SPECrate 2017 Integer,对应用例编号为5xx 合计10个

SPECspeed 2017 Integer,对应用例编号为6xx合计10个

浮点型

SPECrate 2017 Floating Point,对应用例编号为5xx合计13个

SPECspeed 2017 Floating Point,对应用例编号为6XX合计10个

参数详情请参考官网:Index - CPU 2017

四、工作模式

speed 测量

计算机在单位时间内的单个事务处理时长(CPU处理能力)。测试分数高,说明单次运行时间短,CPU处理能力好。

Spec2017 计算speed分值算法公式:ratio=reference_time/test_time

reference_time:SPEC给出的参考时间

test_time:测试得出的时间

ratio越高表示完成同样的问题用时更少。

rate 测量

计算机在单位时间内的并发事务处理能力(CPU吞吐量)。运行数量由测试者指定,分数高,代表CPU吞吐量高。

Spec2017 计算rate分值的公式:ratio=copies*(reference_time/test_time)

copies:指定相同问题的数量

reference_time:SPEC给出的参考时间

test_time:测试得出的时间

说明:公式含义为,参考时间与单份测试所用时间的比值。ratio越高表示相同时间可以处理更多的问题,即机器的通量高。本测试过程中设置copies,分别为对应cpu的核数。

五、测试场景

Base(基准)与peak (峰值)

base:简单的标准的配置

peak:可以提供更多个性化的配置编译选项

六、操作案例

Speccpu2017 安装完成需执行命令

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


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

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

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

 

上一篇:Linux高阶—安全认证模块pam(九)

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux高阶—CPU性能压测spec(十) 的相关文章

  • 并行运行 make 时出错

    考虑以下制作 all a b a echo a exit 1 b echo b start sleep 1 echo b end 当运行它时make j2我收到以下输出 echo a echo b start a exit 1 b star
  • 在Linux上编译C# + WPF以便在Windows上运行

    我有一个 C 应用程序 其中某些部分是使用 WPF 编写的 Mono 不支持 可以在 Linux 上编译这个应用程序吗 最终 该应用程序将在 Windows 上运行 但它是更大框架的一部分 并且我们的整个构建过程在 Linux 上运行 因此
  • 如何修复“iptables:没有该名称的链/目标/匹配”?

    我在我的 Linux 嵌入式系统上构建并安装了 iptables 如果我列出所有规则 则一切正常 iptables list Chain INPUT policy ACCEPT target prot opt source destinat
  • 使用 find - 删除除任何一个之外的所有文件/目录(在 Linux 中)

    如果我们想删除我们使用的所有文件和目录 rm rf 但是 如果我希望一次性删除除一个特定文件之外的所有文件和目录怎么办 有什么命令可以做到这一点吗 rm rf 可以轻松地一次性删除 甚至可以删除我最喜欢的文件 目录 提前致谢 find ht
  • 无法加载 JavaHL 库。- linux/eclipse

    在尝试安装 Subversion 插件时 当 Eclipse 启动时出现此错误 Failed to load JavaHL Library These are the errors that were encountered no libs
  • 抑制 makefile 中命令调用的回显?

    我为一个作业编写了一个程序 该程序应该将其输出打印到标准输出 分配规范需要创建一个 Makefile 当调用它时make run gt outputFile应该运行该程序并将输出写入一个文件 该文件的 SHA1 指纹与规范中给出的指纹相同
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • 如何检测并找出程序是否陷入死锁?

    这是一道面试题 如何检测并确定程序是否陷入死锁 是否有一些工具可用于在 Linux Unix 系统上执行此操作 我的想法 如果程序没有任何进展并且其状态为运行 则为死锁 但是 其他原因也可能导致此问题 开源工具有valgrind halgr
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 使用 grep 查找包含所有搜索字符串的行

    我有一个文件 其中包含很多与此类似的行 id 2796 some model Profile message type MODEL SAVE fields account 14 address null modification times
  • 仅打印“docker-container ls -la”输出中的“Names”列

    发出时docker container ls la命令 输出如下所示 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a67f0c2b1769 busybox tail f dev
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 为什么内核需要虚拟寻址?

    在Linux中 每个进程都有其虚拟地址空间 例如 32位系统为4GB 其中3GB为进程保留 1GB为内核保留 这种虚拟寻址机制有助于隔离每个进程的地址空间 对于流程来说这是可以理解的 因为有很多流程 但既然我们只有 1 个内核 那么为什么我
  • 从 Python 调用 PARI/GP

    我想打电话PARI GP http pari math u bordeaux fr dochtml gpman html仅从Python计算函数nextprime n 对于不同的n是我定义的 不幸的是我无法得到帕里蟒蛇 http code
  • Linux中的定时器类

    我需要一个计时器来以相对较低的分辨率执行回调 在 Linux 中实现此类 C 计时器类的最佳方法是什么 有我可以使用的库吗 如果您在框架 Glib Qt Wx 内编写 那么您已经拥有一个具有定时回调功能的事件循环 我认为情况并非如此 如果您
  • 如何在数组中存储包含双引号的命令参数?

    我有一个 Bash 脚本 它生成 存储和修改数组中的值 这些值稍后用作命令的参数 对于 MCVE 我想到了任意命令bash c echo 0 0 echo 1 1 这解释了我的问题 我将用两个参数调用我的命令 option1 without
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • 无法使用 wget 在 CentOS 机器上安装 oracle jdk

    我想在CentOS上安装oracle java jdk 8 我无法安装 java jdk 因为当我尝试使用命令安装 java jdk 时 root ADARSH PROD1 wget no cookies no check certific

随机推荐

  • DataWhale-VCED项目学习-2Jina

    Jina Jina是多模态中存储数据以及处理数据的组件 它可以将非结构化数据 图像 文档 视频等 转化为向量数据 并结合Jina其它的相关组件设计 可以将这些向量数据利用起来 实现多模态相关应用 安装 安装 Jina 需要 Python3
  • git简单命令

    登录自己的账号与邮箱 git config global user name wei gir config global user email ww 进入一个文件夹中之后 git init 初始化仓库 生成 git文件 该文件夹称为工作树
  • 剑指offer-17 合并链表

    2个链表 本来都是从小到大的顺序排列的 现在要求合并 合并后依然从小到大 思路 先设定一个pointer指针 指向新链表的新节点 1 如果链表1为空 则新链表就是链表2 反之一样 2 创建一个指针pointer 在子链表都不为空时 比较两个
  • SQL注入——联合注入

    SQL注入原理 攻击者通过构造不同的SQL语句来实现对数据库的操作 SQL注入的本质 我们也能操作别人的数据库 数据库结构 库 就是一堆表组成的数据集合 表 类似Excel 有行和列组成的二维表 字段 表中的列称为字段 记录 表中的行称为记
  • $LSB_SUB_PARM_FILE

    LSB SUB PARM FILE是一个环境变量 用于指定包含作业提交所需参数的文件路径 这个文件通常由作业脚本生成 并在作业提交命令中使用该变量将此文件与作业一起提交给集群管理器 LSB SUB PARM FILE所生成的文件中包含了作业
  • BAM网络

    摘要 从混叠区域恢复纹理信息一直是单图像超分辨率 SISR 任务的主要挑战 这些区域通常淹没在噪波中 因此我们必须在抑制噪波的同时恢复纹理细节 为了解决这个问题 我们提出了一种平衡注意机制 BAM 它由Avgpool通道注意模块 ACAM
  • git使用手册,有这些就够了^_^

    日常工作中 有了这些git命令 解决你代码提交与合并上的痛点 再也不怕代码和别人冲突了 再也不用为合并代码 冲掉别人代码而头痛了 一 clone仓库中的代码 git clone svn addr git 其中 svn addr git为代码
  • 面试官:70% 的面试者挂在 JVM !

    无论什么级别的Java从业者 JVM都是进阶时必须迈过的坎 不管是工作还是面试中 JVM都是必考题 如果不懂JVM的话 薪酬会非常吃亏 近70 的面试者挂在JVM上了 掌握了JVM机制 就等于学会了深层次解决问题的方法 对于Java开发者而
  • ABP 框架官网学习资料

    ABP是 ASP NET Boilerplate Project ASP NET样板项目 的简称 新思想 新技术 新架构 更好更快的开发现代ASP NET应用程序 ASP NET Boilerplate是一个用最佳实践和流行技术开发现代WE
  • java数字字符串,非数字字符串前补零,后补零到指定位数

    java数字字符串 非数字字符串前补零 后补零到指定位数 一个Java有用的小工具类 import java text DecimalFormat import java util Arrays 位数不够补零 author hexionly
  • Matlab2021a安装教程

    目录 一 资源文件 二 安装 一 资源文件 名称 Matlab R2021a 大小 17 11GB 语言 简体中文 安装环境 Win10 64位下载链接 https pan baidu com s 1OIyhX8kpVfydlo aOnbT
  • XML与JAVABean的相互转换

    一 XML生成JAVABean 1 将以下xml报文转为JavaBen实例
  • 大整数相乘 C++

    题目描述 有两个用字符串表示的非常大的大整数 算出他们的乘积 也是用字符串表示 不能用系统自带的大整数类型 输入描述 空格分隔的两个字符串 代表输入的两个大整数 输出描述 输入的乘积 用字符串表示 示例 输入 721065475484731
  • 如何在 Python 中将 Excel 文件转换为图像?Aspose快速搞定

    在各种情况下 需要将 Excel 电子表格嵌入到 Web 或桌面应用程序中 在这种情况下的解决方案之一是将 Excel 工作表转换为图像格式 在本文中 将学习如何在 Python中将Excel XLSX 或 XLS 转换为 PNG JPEG
  • 算法和数据结构项目练习5-哈希链表

    Hash Chaining Table 项目介绍 代码实现 项目介绍 本项目实现一个简单的哈希表 txt文件包含一个整数值序列 读取它们并使用链接构造一个哈希表 程序应该依次读取每个整数 并使用mod 100作为哈希函数计算其哈希值 因此
  • CSS笔记(黑马程序员pink老师前端)浮动,清除浮动

    浮动可以改变标签的默认排列方式 浮动元素常与标准流的父元素搭配使用 网页布局第一准则 多个块级元素纵向排列找标准流 多个块级元素横向排列找浮动 float属性用于创建浮动框 将其移动到一边 直到左边缘或右边缘触及包含块或另一个浮动框的边缘
  • win10的pycharm开发工具使用Jupyter的各种报错:环境问题

    一 问题 在win10系统的pycharm开发工具使用Jupyter的各种报错 却一直解决不了 我一度使用过购买云服务器 重装系统等等各种办法 都没能解决 例如 在speech processing ipynb文件中 import libr
  • FreeIPA 统一身份认证实现

    1 FreeIPA概述 1 FreeIPA简介 FreeIPA是一个用于Linux Unix环境开源的身份管理系统 提供集中式帐户管理和身份验证 与Windows Active Directory或LDAP的作用类似 FreeIPA集成了3
  • 局部均值分解(matlab实现有注释)

    局部均值分解 local mean decomposition LMD 方法同经验模态分解方法 EMD 一样 也是一种自适应信号处理方法 LMD通过改变信号分解过程能有效改进EMD方法存在的包络拟合不准确 边界处发散等问题 代码如下 cle
  • Linux高阶—CPU性能压测spec(十)

    目录 一 基本概念 二 工作原理 三 测试套件 整数和浮点 测试套件 四 工作模式 speed 测量 rate 测量 五 测试场景 六 操作案例 一 基本概念 SPEC基准广泛用于评估计算机CPU性能工具 SPEC官网下载SPEC CPU