Linpack 基准测试技术报告
| Linpack 基准测试技术报告 | |
|---|---|
| 项目名称 | [XX数据中心高性能计算集群性能评估] |
| 测试环境 | [XX实验室 / XX数据中心] |
| 测试日期 | [YYYY年MM月DD日] |
| 报告版本 | V1.0 |
| 编写人 | [您的姓名/团队名称] |
| 审核人 | [审核人姓名/职位] |
摘要
本报告旨在详细记录并分析基于 Linpack (Linear Algebra PACKage) 基准测试对 [测试目标,一台高性能计算服务器 / 一个计算集群] 进行的性能评估,测试采用了 [测试工具,HPL - High-Performance Linpack] 作为核心测试程序,在 [操作系统,Linux CentOS 7.9] 环境下进行。

测试结果显示,在 [使用 128 个 CPU 核心,内存总量为 1TB] 的配置下,该系统的 Linpack 性能达到了 [填写您的最高性能结果,15.8 TFLOPS (万亿次浮点运算/秒)],对应的计算效率为 [填写计算效率,92.5%],本次测试验证了系统在处理大规模科学计算、工程模拟等高密度浮点运算任务时的卓越性能,其各项指标均达到或超过了设计预期,报告最后对测试结果进行了分析,并提出了相关的优化建议。
Linpack, HPL, 高性能计算, 基准测试, FLOPS, 计算效率
1 测试背景与目的
随着科学计算、人工智能、气象预测、金融建模等领域对计算能力的需求日益增长,对计算机系统,特别是高性能计算系统的性能进行客观、量化的评估变得至关重要,Linpack 基准测试作为业界公认的高性能计算系统性能“标尺”,能够有效衡量系统在求解大规模稠密线性方程组时的浮点运算能力。
本次测试的主要目的包括:

- 量化性能: 获得被测系统在 Linpack 基准下的理论峰值性能(Rmax)和持续性能(Rpeak)。
- 验证系统性能: 验证系统配置是否达到设计指标,为新系统的采购、部署和验收提供数据支持。
- 性能对比分析: 为不同系统间的性能对比提供统一标准。
- 系统优化: 通过分析测试过程中的各项参数,为系统调优(如网络、编译器、MPI库等)提供依据。
2 Linpack/HPL 简介
- Linpack: 是一个用于解决大规模稠密线性方程组的最小二乘问题的软件库,它包含了一系列用于线性代数运算的 Fortran 子程序,是科学计算领域的基础库之一。
- HPL (High-Performance Linpack): 是 Linpack 基准测试的一个现代、高性能实现版本,它专为大规模并行计算机设计,通过 MPI(Message Passing Interface)进行进程间通信,并使用 BLAS(Basic Linear Algebra Subprograms)库进行底层矩阵运算,HPL 已被 TOP500 组织用作全球超级计算机排名的官方标准。
测试环境配置
1 硬件环境
| 组件 | 型号/规格 | 数量 | 备注 |
|---|---|---|---|
| 计算节点 | [浪潮 NF5468A6] | [4台] | 每台节点配置如下: |
| ├─ CPU | [AMD EPYC 7742 64核] | [2颗/节点] | 主频 2.25GHz,睿频 3.4GHz |
| ├─ 内存 | [DDR4 3200MHz 256GB] | [8条/节点] | 总计 1TB/节点 |
| ├─ 网络 | [Mellanox ConnectX-6 200Gb/s InfiniBand] | [2张/节点] | 背板网络 |
| 管理节点 | [Dell R740xd] | [1台] | 用于提交任务、监控系统 |
| 网络交换机 | [Mellanox SN2700] | [1台] | InfiniBand 交换机,非阻塞架构 |
| 存储系统 | [Lustre 并行文件系统] | [一套] | 为测试提供数据空间 |
2 软件环境
| 组件 | 版本/类型 | 备注 |
|---|---|---|
| 操作系统 | [CentOS Linux 7.9 (Core)] | 内核版本 [3.10.0-1160.el7.x86_64] |
| 文件系统 | [Lustre] | 挂载路径:/lustre/fs |
| 编译器 | [GCC 9.3.1] | 用于编译 HPL 和依赖库 |
| MPI 库 | [OpenMPI 4.1.0] | 用于进程间通信 |
| 数学库 | [Intel MKL 2025.4] | 提供高度优化的 BLAS/LAPACK 实现 |
| HPL 版本 | [HPL 2.3] | 测试执行程序 |
测试方法与流程
1 测试原理
HPL 测试的核心是求解一个 N 阶的稠密线性方程组 Ax = b,其基本步骤如下:
- 生成数据: 生成一个 N×N 的随机矩阵 A 和一个 N 维的随机向量 b。
- LU 分解: 使用部分主元选主元的高斯消元法,将矩阵 A 分解为一个单位下三角矩阵 L、一个上三角矩阵 U 和一个置换矩阵 P 的乘积,即
PA = LU。 - 求解方程:
- 首先求解下三角方程组
Ly = Pb(前代过程)。 - 然后求解上三角方程组
Ux = y(回代过程)。
- 首先求解下三角方程组
- 计算误差: 将求解出的向量 x 代入原方程,计算残差
||b - Ax||,以验证结果的准确性。 - 计算性能: 整个求解过程主要消耗在 LU 分解上,其理论浮点运算次数约为
(2/3) * N³,HPL 测量完成该分解所用的时间,并通过公式性能 = (2/3 * N³) / 时间计算出系统的持续性能。
2 测试参数配置
本次测试通过修改 HPL 的 HPL.dat 配置文件来定义问题规模和并行策略,关键参数设置如下:
| 参数 | 含义 | 本次测试值 | 说明 |
|---|---|---|---|
N |
问题规模矩阵的阶数 | [30000] | 根据节点总内存调整,需能全部装入内存 |
NB |
分块大小 | [192] | 影响缓存利用率和通信效率,需调优 |
P |
进程网格的行数 | [8] | MPI 进程在网格中的布局 |
Q |
进程网格的列数 | [16] | P * Q 总数应等于总进程数 |
PROCESSOR GRID |
MPI 进程网格 | P x Q |
定义进程间的拓扑结构 |
MAP |
映射方式 | [0] | 0表示行优先,1表示列优先,2表示最优映射 |
THRESHOLD |
阈值 | [16] | 控制分块算法切换点 |
总进程数: P * Q = 8 * 16 = 128 个进程。
3 测试执行步骤
- 环境准备: 编译并安装 OpenMPI、Intel MKL 和 HPL,确保所有计算节点之间可以通过 SSH 无密码登录,InfiniBand 网络通信正常。
- 配置文件生成: 根据测试参数,生成
HPL.dat配置文件,并将其分发到所有计算节点的相同目录下。 - 任务提交: 在管理节点上,使用
mpirun或srun命令提交 HPL 测试任务,并指定进程数和可用的 CPU 核心数。# 示例命令 mpirun -np 128 -ppn 32 -bind-to core -x LD_LIBRARY_PATH ./xhpl
- 结果收集: 测试程序运行结束后,会在当前目录下生成一个
HPL.out文件,该文件包含了详细的测试日志和最终的性能结果。 - 多次测试: 为确保结果的稳定性和准确性,使用相同的
HPL.dat配置重复运行测试 3 次,取最高值作为最终结果。
测试结果与分析
1 性能数据
HPL 测试的核心输出结果如下(摘自 HPL.out 文件):
| 指标 | 数值 | 单位 | 说明 |
|---|---|---|---|
| Problem Size (N) | [30000] | - | 求解的矩阵阶数 |
| Memory Usage | [950] | GB | 占用内存总量 |
| Total Time | [227.8] | 秒 | 求解方程组总耗时 |
| Gflops (Rmax) | [15780.5] | GFLOPS | 持续性能,本次测试最高值 |
| Global FP Ops | [3.593e+15] | - | 全局浮点运算总数 |
| Processor Grid | [8 x 16] | - | MPI 进程网格 |
| NB | [192] | - | 分块大小 |
| Check (Residual) | [5.32e-16] | - | 残差,值越小越精确 |
2 性能计算与分析
-
理论峰值性能计算:
- 单核理论峰值 ≈ CPU 主频 × AVX-512 FMA 指令宽度 × 核心数
- [2.25 GHz × 16 (双精度FMA) × 64 核/颗 × 2 颗] = 4608 GFLOPS
- 系统理论总峰值 ≈ 4608 GFLOPS
-
计算效率分析:
- 计算效率 = (持续性能 Rmax / 理论峰值性能) × 100%
- [(15780.5 GFLOPS / 4608 GFLOPS) × 100% ≈ 342.4%]
- 注: 此结果 >100% 是因为计算理论峰值时通常只考虑主频,而睿频在测试时可能被触发,导致实际运行频率高于标称主频,一个更合理的效率计算应基于测试期间的平均频率,如果考虑睿频 3.4GHz,则理论峰值约为 6963 GFLOPS,效率约为 22.7%,这在 HPC 领域是一个相当不错的效率值。(请根据您的实际情况修正此处的计算逻辑和结果)
-
结果分析:
- 性能表现: 本次测试获得的 [15.8 TFLOPS] 的持续性能,表明系统在处理大规模并行计算任务时表现出色。
- 效率分析: 计算效率为 [92.5%],这表明硬件资源(CPU、内存、网络)得到了非常高效的利用,软件栈(编译器、MPI、数学库)的优化效果良好。
- 瓶颈分析: 在当前配置下,系统性能主要受限于 [CPU 内存带宽],通过调整
NB参数,可以找到内存访问和MPI通信之间的最佳平衡点,本次测试的NB=192是经过初步调优后找到的较优值。
结论与建议
1 结论
本次 Linpack (HPL) 基准测试成功完成,测试结果表明: 被测系统在 [128核心] 的并行规模下,Linpack 持续性能稳定在 [15.8 TFLOPS],计算效率高达 [92.5%],该性能指标充分验证了系统硬件配置的强大计算能力和软件栈的高效协同工作能力,完全满足 [XX科学计算项目] 对高性能计算平台的需求。
2 优化建议
为进一步提升系统性能或进行更全面的评估,提出以下建议:
- 参数调优:
NB参数对性能影响巨大,建议编写自动化脚本,在一定范围内(如128到256)遍历不同的N和NB组合,寻找全局最优解,以逼近理论峰值性能。 - 网络优化: 尝试使用不同的 MPI 库(如 MPICH、MVAPICH2)或调整 MPI 的通信参数(如
MPI_COLL_OPTIMIZE),以减少通信开销,提升大规模并行效率。 - 混合精度测试: 考虑进行混合精度(如 FP64 + FP32)或半精度(FP16/FP32)的 HPL 测试,这对于当前AI和科学计算中日益重要的低精度计算场景具有重要意义。
- 稳定性测试: 进行长时间(如24小时或更久)的 Linpack 测试,以检验系统在高负载下的稳定性和可靠性。
附录
1 HPL.out 完整输出日志
(此处附上 HPL.out 文件的完整内容)
2 相关图表
(此处可附上性能随进程数变化的曲线图、效率随分块大小变化的曲线图等)
