目前高性能计算基准测试程序分类
基准测试程序
基准测试程序
(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
分享到:
相关推荐
内容概要:本文详细介绍了基于MATLAB GUI界面和卷积神经网络(CNN)的模糊车牌识别系统。该系统旨在解决现实中车牌因模糊不清导致识别困难的问题。文中阐述了整个流程的关键步骤,包括图像的模糊还原、灰度化、阈值化、边缘检测、孔洞填充、形态学操作、滤波操作、车牌定位、字符分割以及最终的字符识别。通过使用维纳滤波或最小二乘法约束滤波进行模糊还原,再利用CNN的强大特征提取能力完成字符分类。此外,还特别强调了MATLAB GUI界面的设计,使得用户能直观便捷地操作整个系统。 适合人群:对图像处理和深度学习感兴趣的科研人员、高校学生及从事相关领域的工程师。 使用场景及目标:适用于交通管理、智能停车场等领域,用于提升车牌识别的准确性和效率,特别是在面对模糊车牌时的表现。 其他说明:文中提供了部分关键代码片段作为参考,并对实验结果进行了详细的分析,展示了系统在不同环境下的表现情况及其潜在的应用前景。
嵌入式八股文面试题库资料知识宝典-计算机专业试题.zip
嵌入式八股文面试题库资料知识宝典-C and C++ normal interview_3.zip
内容概要:本文深入探讨了一款额定功率为4kW的开关磁阻电机,详细介绍了其性能参数如额定功率、转速、效率、输出转矩和脉动率等。同时,文章还展示了利用RMxprt、Maxwell 2D和3D模型对该电机进行仿真的方法和技术,通过外电路分析进一步研究其电气性能和动态响应特性。最后,文章提供了基于RMxprt模型的MATLAB仿真代码示例,帮助读者理解电机的工作原理及其性能特点。 适合人群:从事电机设计、工业自动化领域的工程师和技术人员,尤其是对开关磁阻电机感兴趣的科研工作者。 使用场景及目标:适用于希望深入了解开关磁阻电机特性和建模技术的研究人员,在新产品开发或现有产品改进时作为参考资料。 其他说明:文中提供的代码示例仅用于演示目的,实际操作时需根据所用软件的具体情况进行适当修改。
少儿编程scratch项目源代码文件案例素材-剑客冲刺.zip
少儿编程scratch项目源代码文件案例素材-几何冲刺 转瞬即逝.zip
内容概要:本文详细介绍了基于PID控制器的四象限直流电机速度驱动控制系统仿真模型及其永磁直流电机(PMDC)转速控制模型。首先阐述了PID控制器的工作原理,即通过对系统误差的比例、积分和微分运算来调整电机的驱动信号,从而实现转速的精确控制。接着讨论了如何利用PID控制器使有刷PMDC电机在四个象限中精确跟踪参考速度,并展示了仿真模型在应对快速负载扰动时的有效性和稳定性。最后,提供了Simulink仿真模型和详细的Word模型说明文档,帮助读者理解和调整PID控制器参数,以达到最佳控制效果。 适合人群:从事电力电子与电机控制领域的研究人员和技术人员,尤其是对四象限直流电机速度驱动控制系统感兴趣的读者。 使用场景及目标:适用于需要深入了解和掌握四象限直流电机速度驱动控制系统设计与实现的研究人员和技术人员。目标是在实际项目中能够运用PID控制器实现电机转速的精确控制,并提高系统的稳定性和抗干扰能力。 其他说明:文中引用了多篇相关领域的权威文献,确保了理论依据的可靠性和实用性。此外,提供的Simulink模型和Word文档有助于读者更好地理解和实践所介绍的内容。
嵌入式八股文面试题库资料知识宝典-2013年海康威视校园招聘嵌入式开发笔试题.zip
少儿编程scratch项目源代码文件案例素材-驾驶通关.zip
小区开放对周边道路通行能力影响的研究.pdf
内容概要:本文探讨了冷链物流车辆路径优化问题,特别是如何通过NSGA-2遗传算法和软硬时间窗策略来实现高效、环保和高客户满意度的路径规划。文中介绍了冷链物流的特点及其重要性,提出了软时间窗概念,允许一定的配送时间弹性,同时考虑碳排放成本,以达到绿色物流的目的。此外,还讨论了如何将客户满意度作为路径优化的重要评价标准之一。最后,通过一段简化的Python代码展示了遗传算法的应用。 适合人群:从事物流管理、冷链物流运营的专业人士,以及对遗传算法和路径优化感兴趣的科研人员和技术开发者。 使用场景及目标:适用于冷链物流企业,旨在优化配送路线,降低运营成本,减少碳排放,提升客户满意度。目标是帮助企业实现绿色、高效的物流配送系统。 其他说明:文中提供的代码仅为示意,实际应用需根据具体情况调整参数设置和模型构建。
少儿编程scratch项目源代码文件案例素材-恐怖矿井.zip
内容概要:本文详细介绍了基于STM32F030的无刷电机控制方案,重点在于高压FOC(磁场定向控制)技术和滑膜无感FOC的应用。该方案实现了过载、过欠压、堵转等多种保护机制,并提供了完整的源码、原理图和PCB设计。文中展示了关键代码片段,如滑膜观测器和电流环处理,以及保护机制的具体实现方法。此外,还提到了方案的移植要点和实际测试效果,确保系统的稳定性和高效性。 适合人群:嵌入式系统开发者、电机控制系统工程师、硬件工程师。 使用场景及目标:适用于需要高性能无刷电机控制的应用场景,如工业自动化设备、无人机、电动工具等。目标是提供一种成熟的、经过验证的无刷电机控制方案,帮助开发者快速实现并优化电机控制性能。 其他说明:提供的资料包括详细的原理图、PCB设计文件、源码及测试视频,方便开发者进行学习和应用。
基于有限体积法Godunov格式的管道泄漏检测模型研究.pdf
嵌入式八股文面试题库资料知识宝典-CC++笔试题-深圳有为(2019.2.28)1.zip
少儿编程scratch项目源代码文件案例素材-几何冲刺 V1.5.zip
Android系统开发_Linux内核配置_USB-HID设备模拟_通过root权限将Android设备转换为全功能USB键盘的项目实现_该项目需要内核支持configFS文件系统
C# WPF - LiveCharts Project
少儿编程scratch项目源代码文件案例素材-恐怖叉子 动画.zip
嵌入式八股文面试题库资料知识宝典-嵌⼊式⼯程师⾯试⾼频问题.zip