一、介绍
说到高性能计算,一般都是利用搭建集群配合加速卡做并行计算实现。但用相同的硬件实现更快的方法,那就是做测试了。比较有名的就是Linpack测试了,Linpack现在在国际上已经成为最流行的用于测试高性能计算机系统浮点性能的benchmark,在高性能领域,就是利用其中的HPL测试进行测试。下面摘一段百科上的解释:
Linpack现在在国际上已经成为最流行的用于测试高性能计算机系统浮点性能的benchmark。通过利用高性能计算机,用高斯消元法求解N元一次稠密线性代数方程组的测试,评价高性能计算机的浮点性能。
Linpack测试包括三类,Linpack100、Linpack1000和HPL。Linpack100求解规模为100阶的稠密线性代数方程组,它只允许采用编译优化选项进行优化,不得更改代码,甚至代码中的注释也不得修改。Linpack1000要求求解规模为1000阶的线性代数方程组,达到指定的精度要求,可以在不改变计算量的前提下做算法和代码上做优化。HPL即High Performance Linpack,也叫高度并行计算基准测试,它对数组大小N没有限制,求解问题的规模可以改变,除基本算法(计算量)不可改变外,可以采用其它任何优化方法。前两种测试运行规模较小,已不是很适合现代计算机的发展,因此现在使用较多的测试标准为HPL,而且阶次N也是linpack测试必须指明的参数。
HPL是针对现代并行计算机提出的测试方式。用户在不修改任意测试程序的基础上,可以调节问题规模大小N(矩阵大小)、使用到的CPU数目、使用各种优化方法等来执行该测试程序,以获取最佳的性能。HPL采用高斯消元法求解线性方程组。当求解问题规模为N时,浮点运算次数为(2/3 * N^3-2*N^2)。因此,只要给出问题规模N,测得系统计算时间T,峰值=计算量(2/3 * N^3-2*N^2)/计算时间T,测试结果以浮点运算每秒(Flops)给出。
计算峰值:
随着产品硬件的不断的升级,整个的计算能力也以数量级的速度提升。衡量计算机性能的一个重要指标就是计算峰值,例如浮点计算峰值,它是指计算机每秒钟能完成的浮点计算最大