目前高性能计算基准测试程序分类
基准测试程序
基准测试程序
(Benchmark)
用
于测试和预测计算机系统的性能,揭示不同结构机器的长处和短处,为用户决定购买或使用那种机器最合适他们的应用要求提供决策。基准测试程序试图提供一个客
观,公正的评价机器性能的标准。但真正做到完全公正并非易事,要涉及到因素很多,包括硬件,体系结构,编译优化,编程环境,测试条件,解题算法等。一组标
准的测试程序要提供一组控制测试条件和步骤的规范说明,包括测试平台环境,输入数据,输出结果和性能指标等。
不同的基准测试程序,侧重目的不同:有的测试
CPU
性能,有的测试文件服务器性能,有的测试输入、输出界面,有的测试网络通讯速度等。根据不同用途,测试程序可有专用和通用之分。目前国际上流行的通用测试程序可分为几类:
1.
综合型(如
Dhrystone,Whetstone
等);
2.
核心型(如
Livemore Fortran Kernals,NASA
之
NAS
等);
3.
数学库(如
Linpack,FFT
等);
4.
应用型(如
SPEC
,
Perfect,Splash
等);
5.
并行型(如
NAS
之
NPB,PARKBENCK
等)。
这里介绍的一些常见的测试程序,它们都可以在
internet
上公开查到
:http://www.netlib.org/liblist.html
。在这里你可查到
LINPACK,LAPACK,BLAS,BLACS,Livemore,Loops,Dhrystone,Whetstone,NAS,SPEC,Sim
等包含源代码的基准测试程序。
基准测试程序
Whetstone
它是为比较不同的计算机的浮点性能而设计的综合型基准测试程序,最早用
Algol-60
写成,后用
Fortran
改写。这是从英国国立物理实验室
1970
年是常用的数值计算程序中取出的最频繁使用的有代表性的程序段。这些程序段语句转换到称为
Whetstone
虚拟计算机上的指令,因而得名
Whetstone
基准测试程序。此基准测试程序包括整数运算,又包括浮点运算,涉及到数组下标索引,子程序调用,参数传递,条件转移和三角、超越函数等,使用系统完成的
Kwhetstone/s
数度量。
测试程序可以访问
netlib/benchmark/whetstone
Dhrystone
它主要为测试整数与逻辑运算性能二设计的综合型基准测试程序,用
Ada,C
和
Pascal
完成,它是
CPU
密集
(CPU-intensive
)型测试程序,由很多整型语句和逻辑语句的小循环组成。它使用系统完成的
Kdhrystone/s
数度量。
测试程序可访问
netlib/benchmark/dhrystone
人们对
Whetstone
和
Dhrystone
这两者综合型基准测试程序的批评是,它们不能预测用户程序性能,这些基准测试程序的主要缺点是对编译程序比较敏感。
SPEC
是
Standard
Performance Evaluation cooperation
的首字母缩写,它是作为
NCGA(National computer graphics association
)的一个小组
20
世纪
80
年代创立,这个小组的创始者来源于
HP,DEC,MIPS
,
SUN,
他们拥有一组基准测试程序以评测新机器的性能。第一组基准测试程序叫
SPEC89
,包含
10
个程序;
SPEC92
扩从到
20
个程序,
6
个整数程序,和
14
个浮点程序分别称为
SPECint92,SPECfp92
。随后
SPEC
又发布了一些新的基准测试程序(如
SPEC95,SPEChpc96,SPECweb96, SPEC2000
等)。
SPEC
原主要是测试
CPU
性能的,现在强调开发能反映真实应用(如实际负载等)的基准测试程序,并已推广至客户
/
服务器计算,商业应用,
I/O
子系统等。
SPEC
基准测试程序使用的单位是所测试机器执行性能与
XAX11/780
执行性能之比值。
数学库测试程序
Linpack
自
20
世纪
70
年代中期以来,国际上曾经开发过一批基于
Fortran
语言的求解线性代数方程组的子程序,于
1979
年正式发布了
LinPACK
包。因为线性代数方程组在各个领域中应用甚广,所以该软件包就很自然地称为测试各种机器性能的测试程序。
LinPACK
测试的基准是用全精度的
64
位字长的子程序求解
100
阶线性方程组的速度,测试的结果以
Mflops
(每秒百万次浮点运算)作为单位给出。
LinPACK
的测试报告由
J.Dongarra
经常更新发布(通常每月发布一次)。
LinPACK
是使用
BLASI(Basic Algebra Subprogramsl)
的第一个线性代数软件包。
BLAS1
执行通常意义下的标量(如标量乘向量,向量加,向量内积等),主要为向量计算机而设计的,它用
Fortran 77
写成,但有些计算机商也提供汇编语言的
BLAS1
版本。
LAPACK
尽管
LinPACK
作为测试程序现在仍很有生命力,但作为实际求解线性代数问题的软件包已经落伍了。所以在
1992
年推出了代替
LinPACK
以及
EisPACK
(特征值软件包)的
LAPACK
,它使用了数值线性代数中最新,最精确的算法,同时采用了大型矩阵分解成小矩阵的方法从而可有效地使用存储器。
LAPACK
是建立在
BLAS1 ,BLAS2,BLAS3
的基础上的,其中
BLAS2
执行矩阵-向量运算,
BLAS3
执行矩阵
-
矩阵运算。
ScaLAPACK
是
LAPACK
的增强版,主要为可扩放的,分布存储的并行计算机而设计的。
ScaLAPACK
支持稠密和带状矩阵上各类操作,诸如乘法,转置和分解等。在国际上,
ScaLAPACK
例程可以加入多个并行算法,并且可根据数据分布,问题规模和机器大小选择这些算法,然而用户却不必关心这些细节。
并行测试程序
NAS parallel Benchmark(NPB)
它是
1991
年美国
NAS(Numerical Aerodynamic Simulation)
项目所开发的并行测试程序,其目的是为了比较各种并行机的性能,有时也称为
NPB(NAS Parallel Benchmark)
并行测试程序,系由
8
个程序组成,测试范围从整数排序到复杂的数值计算。测试结果以单位处理机的
CrayY-MP/1
为单位
(Class A)
或
Cray C90/1
为单位
(Class B)
作比较。
NPB
由
5
个核心程序组成
:
1.EP(Embarrassingly parallel)
用于计算
Gauss
伪随机数,因为它几乎不要求处理器之间相互通讯,所以很适合于并行计算,而所测得的结果往往可以作为一个特定并行系统浮点计算性能可能达到的上限;
2.MG(MultiGrid)
:用
4
个
V
循环多重网格算法求解三维波松方程的离散周期近似解;
3.CG (Conjugate Gradient)
:用于求解大型稀疏对称正定矩阵的最小特征值的近似值,它表征了非结构风格计算和非规整远程通信计算类问题:
4.FT(Fast Fourier Transformation):
用于求解基于
FFT
谱分析法的三维偏微分方程,它也要求远程通信;
5.IS(Integer sort):
用于基于桶排序的二维大整数排序,他要求大量的全交换通信。
另外还有计算流体力学中
3
个模拟程序:
1.LU(lower upper triangular):
用于基于对称超松弛法求解块稀疏方程组;
2.SP(scalar penta-diagonal):
用于求解
5
对角线方程组;
3.BT(Block Tri-Diagonal):
用于求解
3
对角块方程组。
有关
NAS
并行基准测试程序的地址为
http://www.nas.nasa.gov/NAS/NPB/software/npbsoftware.html
PARKBENCH (PARallel Kernels and BENCHmarks)
是在
1992
年超级计算会议上确定的项目。与会者认为并行测试的重点应放在可扩放,分布存储,消息传递的体系结构上。主要目标是确定并行机用户和厂商双方都能接收的内容丰富的一批并行测试程序及标准,并把结果公布于网络上,以减少不必要的重复工作。
现在的基准程序系为分布的多计算机编写,使用
Fortan 77
加上
PVM
或
MPI
;为共享存储结构的
Fortan90
和
HPF
版本的基准程序正在开发中。
目前,
PARKBENCH
包括
4
类:
1.
底层基准程序:测试一些基本结构参数,诸如算数运算速度,高速缓存和存储器速度,通讯启动时间和带宽以及同步开销等;
2.
核心基准程序:涉及到广泛的经常使用的科学计算子程序,诸如矩阵运算(稠密矩阵乘法,转置
,LU
分解
,QR
分解,矩阵三对角等)
,FFT
运算,求解
PDE
和
NPB
核基准程序等;
3.
密集应用基准程序:目前仅包括谱变换,浅水(
shallow-water)
模拟和
3
个
NPB
模拟应用程序;
4.HPF
编译基准序;测试
HPF
编译器性能,主要集中在显式并行
HPF
结构的并行实现上。
PARKBENCH
是个正在研究的课题,测试程序的内容尚未完全定型。目前所包含的核心测试程序主要来自
PB
。
出自:http://blog.csdn.net/flyingstarwb/archive/2009/05/30/4225913.aspx
分享到:
相关推荐
HPL是行业内使用最广泛的高性能计算机浮点计算能力的基准测试程序。 Linpack 基准测试是业内公认的高性能计算运算能力基准测试方法,它可以对高性能计算机的浮点计算能力进行评估。浮点计算峰值是衡量计算机计算...
HPC 高性能计算知识点 本文档将详细探讨 HPC 高...HPC 高性能计算领域中的常见测试评估基准包括 TOP500、HPCG、Graph500 和 IO-500 等基准测试,每种基准测试都有其特点和优点,旨在评价超级计算机的不同方面性能。
传统的基准测试,如Linpack,主要用于高性能计算机,关注双精度浮点运算,并且不完全适用于以单精度或混合精度浮点运算为主的人工智能计算场景。为了解决这一问题,清华大学的计算机科学与技术系副教授AIPerf博士...
### Linpack性能测试知识...综上所述,Linpack性能测试是评估高性能计算系统浮点性能的关键工具之一。通过详细的测试方案和结果分析,不仅可以验证硬件系统的稳定性与性能,还可以为进一步优化系统提供宝贵的参考数据。
《npb基准测试程序手册》不仅为并行计算机领域的研究人员和工程师提供了宝贵的资源,还促进了对高性能计算系统性能理解的深化。通过标准化的基准测试,可以有效地评估和比较不同架构和配置下系统的实际表现,从而...
NBench, .NET 应用程序的性能基准测试和测试框架 NBench 跨平台性能基准测试和. NET 应用测试框架。NBench面向那些需要关注性能并希望能够像 XUnit 或者 NUnit测试他们的应用程序代码的应用程序的性能的.NET 开发...
RFC2544 是一项专门针对网络互联设备的基准测试方法,由 IETF 制定,旨在评估网络设备的性能。该测试方法涵盖了网络设备的多个性能指标,包括吞吐量、时延、丢包率、背靠背帧数、系统恢复时间、系统复位等。 在进行...
在实际应用程序的性能测试中,SQL Server 2012展现了令人瞩目的成果。通过与客户、合作伙伴以及业界领先的标准相结合,该系统在多个领域取得了突破性的成绩。例如,与HP和XIO合作的Temenos T24 R12性能测试,显示了...
在MATLAB环境中,基准测试函数通常用于评估和比较不同优化算法的性能。这些函数具有已知的特性,如全局最小值、局部最小值、多模态等,可以帮助我们理解算法在处理复杂问题时的行为。本资源包含24个这样的函数,它们...
3. **浮点运算性能测试**:LINPACK基准测试程序通过执行一系列高密度的浮点运算任务,来评估计算机系统的浮点运算能力。这对于了解计算机在科学计算、图像处理等领域的性能表现至关重要。 4. **源代码分析**:`...
的计算模式,分析了高性能计算云的优势,深入介绍了国内外基于基准测试的高性能计算云的性能评测、性能优化、能耗和成本效益等关键问题,得出了针对基准测试的高性能计算云研究的基本思路,并对当前面临的问题和今后的...
首先,文章提到了一个典型的性能测试案例——Round #8,当时一切运行良好,但随着时间推移,到了Round #14时,性能出现了明显的波动。这表明即使在最佳状态下,性能也会随时间、负载或环境变化而变化,因此持续监控...
网络处理器作为满足下一代网络系统在性能和灵活性需求的关键技术,它的基准测试研究已经成为了一个重要的研究领域。随着网络速度的飞速增长和新型应用的不断涌现,传统的软件路由器和纯硬件ASIC路由器已经无法满足...
《全面解析计算机硬件性能测试工具Everest Ultimate》 在当今的数字时代,计算机硬件的性能是衡量一台电脑是否高效运行的重要标准。为了更好地理解和优化我们的系统,一款强大的硬件测试工具至关重要。Everest ...
随着公司处理越来越大的数据量和要求越来越苛刻的工作负载,新类型的数据库应运而生。此类 数据库被称为“NoSQL”,它们利用传统关系型数据库使用的部分功能来换取更高的性能和/或 ...尽可能高的原始性能的应用程序
#### 七、高性能计算的基准测试 - **Linpack**:一种广泛使用的基准测试工具,用于测试并行计算机系统的浮点性能。通过求解大型线性代数方程组来评估系统的性能。 - **HPL (High Performance Linpack)**:专门用于...
计算机性能测试程序是评估硬件和操作系统性能的重要工具,它们通过执行特定的计算任务或模拟实际工作负载来衡量系统的整体表现。本文将深入探讨几款主流的计算机性能测试软件,包括Lavalys Everest、SiSoft Sandra ...
项目成果预期包括完成高性能计算机系统技术路线图、建立技术标准体系、研发评测方法和基准测试程序集,以及构建E级计算机关键技术验证系统等。通过这些努力,中国有望在E级高性能计算机的研发上取得重大突破,为科学...