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)给出。
1.Linpack安装条件
在安装 HPL之前,系统中必须具备以下三个条件:
1)   编译器
系统必须安装了支持 C语言和Fortran 77语言的编译器。推荐采用在Linux操作系统中自带的GNU编译器。
2)   并行环境
并行环境是指 MPI。在以太网环境下,一般采用MPICH,当然也可以是其它版本的MPI,如LAM-MPI。在Myrinet网下,采用MPICH-GM。若是其它网络环境就采用相应的MPI。
3)   BLAS
BLAS库及基本线性代数库,采用 BLAS库的性能对最终测得的Linpack性能有密切的关系。常用的BLAS库有GOTO、Atlas、ACML、ESSL、MKL等,我的测试经验是GOTO库性能最优。
2.下载与编译
Step 1:   www.netlib.org/benchmark/hpl 网站上下载HPL源代码包hpl.tar.gz并解包,目前HPL的最新版本为hpl 1.0。
Step 2:   解包。 tar –xzvf hpl.tar.gz。所有HPL源代码都在hpl目录下。
Step 3&#