
当前的高性能计算基准测试程序分类基准测试程序基准测试程序(Benchmark)用于测试和预测计算机系统的性能,揭示不同结构的机器的优缺点,供用户确定购买或使用最合适的机器他们的应用需要决策. 基准测试程序试图为评估机器性能提供客观和公平的标准. 但是要做到完全公平并不容易. 其中涉及许多因素,包括硬件,体系结构,编译优化,编程环境,测试条件和解决问题的算法. 标准的测试程序集应提供一组控制测试条件和步骤的规范,包括测试平台环境,输入数据,输出结果和性能指标. 不同的基准测试程序具有不同的目标: 某些测试CPU性能,某些测试文件服务器性能,某些测试输入和输出接口以及某些测试网络通信速度. 根据用途不同,测试程序可以分为特殊用途和通用用途. 目前,世界上流行的通用测试程序可以分为以下几类: 1.全面的(如Dhrystone,Whetstone等); 2.核心(例如Livemore Fortran Kernals,NASA NAS等); 3.数学库(如Linpack,FFT等); 4.应用程序类型(例如SPEC,Perfect计算机的性能分类,Splash等); 5.并行类型(例如NAS的NPB,PARKBENCK等).

以下是一些常见的测试过程,它们可以在: ,LAPACK,BLAS,BLACS,Livemore,Loops,Dhrystone,Whetstone,NAS,SPEC,Sim和其他包含源代码的基准测试过程中找到. 基准测试程序Whetstone这是一个全面的基准测试程序,旨在比较不同计算机的浮点性能. 它最初是用Algol-60编写的,后来又用Fortran重写了. 这是最常用的代表性程序部分,摘自英国国家物理实验室的1970年常用数值计算程序. 这些块语句在虚拟计算机上转换为称为Whetstone的指令,因此命名为Whetstone基准程序. 该基准测试程序包括整数运算和浮点运算,涉及到数组下标索引,子例程调用,参数传递,条件传递以及三角函数和超越函数等,使用系统完成的Kwhetstone / s量度. 可以从netlib / benchmark / whstone Dhrystone访问该测试程序. 它是一个全面的基准测试程序,主要用于测试整数和逻辑运算性能II. 它由Ada,C和Pascal完成. 这是一个占用大量CPU的测试程序. Internet上可以公开获得许多整数语句和逻辑语句.

可以在这里找到循环组成. 它使用系统完成的Kdhrystone / s数测量. 可以从netlib / benchmark / dhrystone访问该测试程序. 对Whetstone和Dhrystone的批评是它们无法预测用户程序的性能. 这些基准程序的主要缺点是它们对编译器的敏感性. SPEC是标准绩效评估合作的首字母缩写. 它是由NCGA(国家计算机图形协会)在1980年代成立的. 该小组的创始人来自HP,DEC,MIPS和SUN. 他们有一组基准测试程序来评估新机器的性能. 第一组基准测试程序称为SPEC89,其中包含10个程序. SPEC92扩展了20个程序,6个整数程序和14个称为SPECint92,SPECfp92的浮点程序. SPEC随后发布了一些新的基准测试程序(例如SPEC95,SPEChpc96,SPECweb96,SPEC2000等). SPEC最初专注于测试CPU性能,现在强调开发反映实际应用程序(例如实际负载等)的基准程序,并已扩展到客户端/服务器计算,商业应用程序和I / O子系统.

SPEC基准测试程序使用的单位是被测机器的执行性能与XAX11 / 780的执行性能之比. Mathpack测试程序Linpack自1970年代中期以来,一批用于求解线性代数的子程序基于Fortran的方程是国际上开发的. 1979年,LinPACK软件包正式发布. 由于线性代数方程式广泛用于各个领域,因此该软件包自然被称为测试程序,用于测试各种机器的性能. LinPACK测试的基准是使用全精度64位字长子例程来求解100阶线性方程. 测试结果以Mflops(每秒数百万个浮点运算)给出. LinPACK的测试报告经常由J. Dongarra更新和发布(通常每月一次). LinPACK是第一个使用BLASI(基本代数子程序)的线性代数软件包. BLAS1按照通常的意义执行标量(例如标量乘法矢量,矢量加法,矢量内积等),主要是为矢量计算机设计的. 它是用Fortran 77编写的,但是一些计算机供应商还提供了BLAS1版本的汇编语言. LAPACK尽管LinPACK作为测试程序仍然存在,但它已经过时了,它实际上是可以解决线性代数问题的软件包.

因此,在1992年,LAPACK被引入以取代LinPACK和EisPACK(特征值软件包). 它在数值线性代数中使用最新最精确的算法,并采用将大矩阵分解为小矩阵的方法来有效地使用内存. LAPACK基于BLAS1,BLAS2,BLAS3,其中BLAS2执行矩阵矢量运算,而BLAS3执行矩阵矩阵运算. ScaLAPACK是LAPACK的增强版本,主要用于可伸缩的分布式存储并行计算机. ScaLAPACK支持在密集和带状矩阵上的各种运算,例如乘法,转置和分解. 在国际上计算机的性能分类,ScaLAPACK例程可以添加多个并行算法,并且可以根据数据分布,问题大小和计算机大小来选择这些算法,但是用户不必关心这些细节. 并行测试程序NAS并行基准测试(NPB)是由美国NAS(数值空气动力学模拟)项目于1991年开发的并行测试程序. 其目的是比较各种并行机的性能. 有时称为NPB(NAS并行基准测试),并行测试程序由8个程序组成,测试范围是从整数排序到复杂的数值计算.
将测试结果与单元处理器CrayY-MP / 1(A类)或Cray C90 / 1(B类)进行比较. NPB由5个核心程序组成: 1. EP(令人尴尬的并行)用于计算高斯伪随机数,因为它几乎不需要处理器相互通信,因此非常适合于并行计算以及测量结果通常可能是特定并行系统浮点计算性能的可能上限; 2. MG(MultiGrid): 使用4个V周期多网格算法求解三维Poisson方程的离散周期近似解; 3. CG(共轭梯度): 用于求解大型稀疏对称正定矩阵的最小特征值的近似值,其特征在于非结构化样式计算和非常规电信计算的问题: 4.FT(快速傅立叶变换): 用于基于FFT频谱分析方法方程求解三维偏微分,它也需要远程通讯; 5.IS(整数排序): 用于基于桶排序的二维大整数排序,他需要大量的完整交换通信. 另外,CFD中有3个仿真程序: 1. LU(下上三角): 用于基于对称超松弛方法求解块稀疏方程; 2. SP(标量五对角线): 用于求解5条对角线方程; 3.BT(Block Tri-Diagonal): 用于求解3个对角线块方程.
NAS PARKBENCH(并行内核和BENCHmarks)是在1992年超级计算会议上确定的. 参与者认为,并行测试的重点应该放在可伸缩的分布式存储和消息传递体系结构上. 主要目标是并行基准测试程序的地址是识别并行计算机的用户和供应商都可以接收的丰富的并行测试程序和标准,并将结果发布到网络上以减少不必要的麻烦重复性工作. 当前的基准测试程序是使用Fortan 77加上PVM或MPI为分布式多计算机编写的. 共享存储结构的基准程序的Fortan90和HPF版本正在开发中. 目前,PARKBENCH包括4类: 1.低级基准测试程序: 测试一些基本的结构参数,例如算术运算速度,高速缓存和内存速度,通信启动时间和带宽以及同步开销; 2.核心基准程序: 涉及广泛的科学计算子例程,例如矩阵运算(密集矩阵乘法,转置,LU分解,QR分解,矩阵三对角线等),FFT运算,PDE和NPB核心基准程序等: 目前仅包括频谱转换,浅水模拟和三个NPB模拟应用; 4. HPF编译基准顺序;测试HPF编译器的性能,主要集中在显式并行HPF结构的并行实现上. PARKBENCH是一个研究主题,测试程序的内容尚未完全确定. 当前包括的核心测试程序主要来自PB.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-195731-1.html
嫖娼