一.概述

        Linpack是国际上使用最广泛的测试高性能计算机系统浮点性能的基准测试。通过对高性能计算机采用高斯消元法求解一元 N次稠密线性代数方程组的测试,评价高性能计算机的浮点计算性能。Linpack的结果按每秒浮点运算次数(flops)表示。

        很多人把用 Linpack基准测试出的最高性能指标作为衡量机器性能的标准之一。这个数字可以作为对系统峰值性能的一个修正。通过测试求解不同问题规模的实际得分,我们可以得到达到最佳性能的问题规模,而这些数字与理论峰值性能一起列在 TOP500列表中。

        Linpack 测试包括三类,Linpack100、Linpack1000和HPL。Linpack100求解规模为100阶的稠密线性代数方程组,它只允许采用编译 优化选项进行优化,不得更改代码,甚至代码中的注释也不得修改。Linpack1000要求求解1000阶的线性代数方程组,达到指定的精度要求,可以在 不改变计算量的前提下做算法和代码上做优化。HPL即High Performance Linpack,也叫高度并行计算基准测试,它对数组大小N没有限制,求解问题的规模可以改变,除基本算法(计算量)不可改变外,可以采用其它任何优化方 法。前两种测试运行规模较小,已不是很适合现代计算机的发展。
        HPL是针对现代并行计算机提出的测试方式。用户在不修改任意测试程序的基础上,可 以调节问题规模大小(矩阵大小)、使用CPU数目、使用各种优化方法等等来执行该测试程序,以获取最佳的性能。HPL采用高斯消元法求解线性方程组。求解 问题规模为N时,浮点运算次数为(2/3 * N^3-2*N^2)。因此,只要给出问题规模N,测得系统计算时间T,峰值=计算量(2/3 * N^3-2*N^2)/计算时间T,测试结果以浮点运算每秒(Flops)给出。HPL测试结果是TOP500排名的重要依据。

        计算机计算峰值简介:衡量计算机性能的一个重要指标就是计算峰值或者浮点计算峰值,它是指计算机每秒钟能完成的浮点计算最大次数。包括理论浮点峰值和实测浮点峰值。理论浮点峰值是该计算机理论上能达到的每秒钟能完成浮点 计算最大次数,它主要是由 CPU的主频决定的。计算公式如下: 理论浮点峰值=CPU主频×CPU每个时钟周期执行浮点运算次数×CPU数量。

        CPU每个时钟周期执行浮点运算的次数是由处理器中浮点运算单元的个数及每个浮点运算单元在每个时钟周期能处理几条浮点运算来决定的,下表是常见 CPU 的每个时钟周期执行浮点运算的次数。

Linpack测试简介-编程知识网

 

二.运行环境

硬件平台:2台以上计算节点(单节点也可进行且无需网络结构)

网络环境:各计算节点间网络连通,网络结构推荐高带宽、低延时的 Voltaire Infiniband网络

系统环境:Linux平台 存储:各节点间拥有共享存储(并行文件系统最优)

软件:编译器、MPI、数学库、linpack测试包等

 

三.测试步骤

1. 各计算节点安装 linux操作系统

2. 配置网络结构,保证各节点间具备高效的通讯带宽

3. 各节点间配置 ssh或 rsh无密码访问

4. 安装 C语言及 Fortran77编译器

5. 安装编译数学库,常用为 BLASGOTO

6. 安装配置并行环境:MPI消息传递接口

7. 安装配置 LINPACK测试包

8. 利用 MPI运行测试,获取最终计算结果。

 

四.运行结果展示(32台计算节点)

Linpack测试简介-编程知识网

Linpack测试简介-编程知识网

Linpack测试简介-编程知识网