首页 > 其他分享 >CPU性能跑分工具 SPEC2006

CPU性能跑分工具 SPEC2006

时间:2024-01-31 21:34:01浏览次数:25  
标签:实现 性能 CPU C++ C语言 Fortran 测试 spec2000 SPEC2006

一.工具介绍

  •  前言

      SPEC2006 benchmark是SPEC新一代的行业标准化的CPU测试基准套件。重点测试系统的处理器,内存子系统和编译器。这个基准测试套件包括的SPECint基准和SPECfp基准。主要依赖于gcc,g++,gfortran并与其  版本息息相关。 其中SPECint2006基准包含12个不同的基准测试和SPECfp2006年基准包含19个不同的基准测试。SPEC设计了这个套件提供了一个比较标准的计算密集型,高性能的跨硬件的CPU测试工具。在SPEC2006基准有几种不同的方法来衡量计算机性能。 一种方式是测量计算机完成单一任务的速度; 另一种方式吞吐量,容量或速率的测量。 说明:由于spec2006支持多种类型操作系统。以下安装、测试、移植等介绍均基于Unix 和其他的 Unix-like system如linux。Windows系统不在此范围内。

  •  比较     

      2006年8月24日,标准性能评估公司(SPEC)宣布CPU2006将取代SPEC2000。 Spec2006基准测试被广泛的应用于工业界和学术界。新套件比Spec2000要大很多,而且将涵盖到CPU、存储器系统、编译器特别是 C++编译器。cpu2000只有1个关于C++的基准测试,CPU2006则含有7个相关套件,这其中包括了50W行c++代码,Fortran和C语言和之前一样有很好的覆盖

      2017年6月(SPEC)又发布了新一代的CPU测试工具SPEC2017其相较于SPEC2006也有做了和多的升级,具体的升级点可以查看官网SPEC官网

  • 跑分细则

       其跑分主要分为四个部分:1.INT整形单线程 2.INT整形满线程 3.FP浮点单线程 4.FP浮点多线程

     1. 其中"int"整形跑分项为11项分别如下:

        400.perlbench:C语言编写,同spec2000的253.perlbmk类似,是Perl V5.8.7版本的删减版,同样删除了一下操作系统特性有关的东西,增加了第三方的模块,如:SpamAssassin V2.61,Digest-MD5v2.33 HTML-Parser v3.35,MHonArc V2.6.8,IO-stringy V1.205,MailTools V1.60,TimeDate V1.16。400.perlbench采用3个脚本进行增加负载或工作。1.主要的负载在于打开 垃圾邮件过滤软件SpamAssassin。采取的 过滤方式是采用记分制,也就是说会根据我们所设定的标准来给予分数超过标准值的时候即判定为 SPAM(垃圾邮件),其余为非垃圾邮件。但对SpamAssassin软件做了很大程度的修改,避免一些I/0操作,并且没 有使用贝叶斯过滤。2.是比较流行的email到HTML的转换器MHonArc 3.使用了spec2006的工具套件specdiff。

       401.bzip2:C语言实现,同spec2000的256.bzip2类似,基于Julian Seward的bzip2 v1.03.唯一的不同是SPEC中的bzip2除了输入外,无文件I/O。所有的压缩和解压都在内存中进行。输入,输出都和gzip的相似。负载包括六个部分:两个小的JPEG图片、一个程序、一个tar包起的几个源程序文件、一个HTML文件、混合文件,包括压缩起来的高可压缩文件及不怎么可压缩的文件。测试分别使用了三个不同的压缩等级进行压缩和解压缩

       403.gcc:C语言实现,同spec2000的176.gcc类似。该测试是基于gcc V3.2,为AMDCPU生成机器码。相比spec2000的176.gcc,该测试有更多的输入文件,因此测试压力会更大,负载来源于对9组C代码进行编译。

       429.mcf:C语言实现,同时需要libm库支持,同spec2000的181.mcf类似,MCF是一个用于大型公共交通中的单站车辆调度的程序。但对输入文件做了一定的修改,由32位变成64位,用以兼容64位系统。并且增加了cache命中和程序的性能。相比spec2000的181.mcf来说,占用的内存由之前的100M-190M变为860M-1700M。

       445.gobmk:C语言实现,同spec2000的186.crafty类似。不同的是这里是实现的围棋游戏。相比spec2000程序更复杂。

       456.hmmer:C语言实现。HMMER是基于隐马尔可夫模型(profile HMMs),用于生物序列分析工作。同Timed HMMer Search 类似。

       458.sjeng:C语言实现。基于一种象棋游戏Sjeng11.2,属于人工智能的范畴。

       462.libquantum: C语言实现(C99)。libquantum是模拟量子计算机的库文件,用来进行量子计算机应用的研究。

       464.h264ref: C语言实现。一种视频压缩程序,基于H264AVC 9.3版,去除了I/O和平台相关的东西。

       471.omnetpp: C++语言实现。OMNeT++,离散事件仿真。包括约8000台计算机和900个交换机/集线器,以及混合了各种从10Mb到1000Mb速率的大型CSMA/CD协议以太网络模拟。

       473 astar:C++语言实现,实现了2D寻路算法A的三种不同版本。

     2. 其中"fp"浮点跑分项为12项分别如下: 其中"fp"浮点跑分项为17项分别如下:

       410.bwaves:Fortran 77语言实现,流体力学范畴。对三维瞬跨音速粘性流中冲击波的模拟计算

       416.gamess:Fortran语言实现,量子化学范畴。采用GMAESS组件,包含 胞嘧啶分子、水和Cu2+离子、三唑离子等3种SCF自洽场计算。

       433.milc:C语言实现,量子力学范畴,采用MILC组件,包含用来研究QCD量子色动力学、夸克及胶子的四维SU(3)格点规范理论的模。

       434.zeusmp :Fortran 77/REAL8语言实现,属于计算流体力学范畴,ZEUS-MP程序,用来计算理想、非相对论条件下的流体力学和磁流体力学,zeusmp模拟计算了一个统一磁场中的3D冲击波。

       435.gromacs C & Fortran语言实现,属于生物化学/分子力学范畴。GROMACS是一个分子力学计算套件,然而也可以用于非生物系统,gromacs模拟了在一个水和离子溶液中的蛋白质溶菌酶结构在各种实验手段如核磁共振的X光照射下的变化。

       436.cactusADMFortran 90, ANSI C语言实现,物理中的广义相对论。来源于CactusBenchADM。cactusADM对时空曲率由内部物质决定的爱因斯坦演化方程进行求解,爱因斯坦演化方程由10个标准ADM 3+1分解的二阶非线性偏微分方程组成。

       437.leslie3dFortran 90语言实现,属于流体力学范畴。 LESlie3d是用来计算湍流的计算流体力学程序,leslie3d计算了一个如燃油注入燃烧室的时间分层混合流体。

       444.namd:C++语言实现。属于生物/分子学范畴。NAMD是一个大型生物分子系统并行计算程序,namd模拟了了92224个原子组成的A-I载脂蛋白

       447.dealII:C++语言实现。进行有限元分析,w/Boost lib 、deal.II lib、deal.II是定位于自适应有限元及误差估计的C++库,dealII对非常系数的亥姆霍兹方程进行求解,它使用了基于二元加权误差估计生成最佳网格的自适应方法,该方程在3维得解。

       450.soplex:C++语言实现。采用Plex v1.2.1程序,Plex使用单纯形算法解线性方程

       453.povray:ISO C++ 语言实现。 POV-Ray POV-Ray是一个光线追踪渲染软件,povray渲染一幅1280x1024的反锯齿国际象棋棋盘图像 (12)

       454.calculix:Fortran 90 & C语言实现,结构力学范畴。CalculiX是一个用于线性及非线性三位结构力学的有限元分析软件,454.calculix计算了一个高速旋转的压缩盘片在离心力的作用下的应力和变形情况 

       459.GemsFDTD:Fortran 90语言实现。属于电磁学范畴。GemsFDTD使用FDTD(有限差分时域)方法求解三维时域中的麦克斯韦方程,计算了一个理想导体的雷达散射截面

       465.tonto: Fortran 95实现。量子化学范畴Tonto是一个面向对象的量子化学程序包,465.tonto计算面向量子晶体学,它基于一个符合X光衍射实验数据的、约束的分子Hartree-Fock波函数

       470.lbm :ANSI C语言实现。lbm使用LBM(格子波尔兹曼方法)模拟非压缩流体,它模拟了两种情况:类似活塞推动的剪切驱动流体和管道流体,测试包含了3000个步骤 

       481.wrf Fortran 90 & C语言实现。WRF v2.0.2 481.wrf基于WRF(Weather Research and Forecastin)模型,对NCAR的数据进行了计算,数据包括了UTC 2001.06.11到UTC 2001.06.12以三小时为间隔的数据

标签:实现,性能,CPU,C++,C语言,Fortran,测试,spec2000,SPEC2006
From: https://www.cnblogs.com/xiaomawo/p/18000165

相关文章

  • WPF性能优化:形状(Shape)、几何图形(Geometry)和图画(Drawing)的使用
    在用户界面技术中,绘图是一个绕不开的话题。WPF提供了多种可根据应用程序要求进行优化的2D图形和图像的处理功能,包括画刷(Brush)、形状(Shape)、几何图形(Geometry)、图画(Drawing)和变换(Transform)等。其中形状(Shape)、几何图形(Geometry)和图画(Drawing)承担了基础的绘图功能,形......
  • 分析HarmonyOS应用/服务的CPU活动性能
    CPUProfiler性能分析是用来分析CPU性能瓶颈的工具,可以实时查看应用/服务的CPU使用率和线程活动,也可以查看记录的方法跟踪数据、方法采样数据和系统跟踪数据的详情。基于CPU性能分析,您可以了解在一段时间内执行了哪些方法,以及每个方法在其执行期间消耗的CPU资源,可以有针对性的优......
  • 性能测试学习笔记
    一、性能测试的基本操作1、概念:体现当前服务器到底能不能带动开发的软件2、服务器优化:升级配置(服务器升级内容、cpu),横向扩容(多台服务器)3、并发:  二、性能测试的调优(具体怎么调,由开发/运维去做),测试指导开发问题发生的位置 ......
  • 深入浅出堆排序: 高效算法背后的原理与性能
    ......
  • client-go list性能提升
    k8sv1.19.0staging\src\k8s.io\apiserver\pkg\storage\cacher\cacher.gostaging\src\k8s.io\apiserver\pkg\storage\etcd3\api_object_versioner.go优化1:设置resourceVersion=0从kube-apiserver缓存中获取全量数据并返回。默认client-golist参数是resourceVersion=0&limit......
  • CSAPP学习笔记——chapter5 优化程序性能
    编写高效程序需要做到以下几点:第一,我们必须选择一组适当的算法和数据结构第二,我们必须编写出编译器能够有效优化以转换成高效可执行代码的源代码。对于这第二点,理解优化编译器的能力和局限性是很重要的。编写程序方式中看上去只是一点小小的变动,都会引起编译器优化方式很大的变化......
  • 算力操作系统的GPU、CPU与高速缓存网络
    在现在的AI时代,大规模计算能力已经是推动科技进步和社会发展的刚需,LAXCUS分布式操作系统作为新的重构后的算力体系的核心,在这里面起到承下启下的作用。其底层架构中的GPU、CPU以及高速缓存网络之间的关系显得尤为重要。本文将简单说说这三者之间的互动与影响,以揭示LAXCUS做为算力操......
  • react tips/webpack热更新原理/webpack优化性能/超级蔬菜配比
    《react使用小技巧》https://www.yuque.com/beilo/simpread/1706613177588《webpack热更新原理》https://github.com/febobo/web-interview/issues/126WebpackCompile(webpack编译)BundleServer(静态资源服务器,一般是dist/build文件夹HMRServer(热更新服务器HMRRuntime(......
  • SpringBoot中集成Minio高性能分布式存储文件服务入门
    场景若依前后端分离版手把手教你本地搭建环境并运行项目:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662参考上面搭建项目。MinioMinio是基于Go语言编写的对象存储服务,适合于存储大容量非结构化的数据,例如图片、音频、视频、日志文件、备份数据和容器/......
  • CPU是什么?
    在程序是怎样跑起来的这本书中我们首先被询问的一个问题是“程序是什么?它是有什么组成的?而CPU又与程序有什么关系呢?”,若我们能知道前两个,其实更容易将你带入讨论“CPU是什么?”这一话题中,你也能更加深入去理。首先这一章节读下来我知道程序的指令和操作是CPU执行的,而CPU是计算机......