HPL 性能预估:从理论峰值到可交付效率
摘要:算完 Rpeak 之后,投标、验收和排期都想知道"到底能跑出多少"。本文用一组真实集群的逐节点 HPL 数据,回答三个问题:单节点效率能做到多少、整集群扩展后掉多少、怎么在测试前把实测值预估准。
1. 核心指标:效率
- 单节点效率:反映单机调优水平(BIOS、绑定、指令集)
- 整集群效率:额外反映互连网络、负载均衡、HPL.dat 网格配置
2. 真实基线:91 节点逐节点实测
以下数据来自一个 91 节点交付集群的 CPU HPL 批量测试。节点规格统一:104 核 @ 2.0 GHz,单节点理论 6656 GFlops,1536 GB 内存/节点。
2.1 实测结果分布
| 统计项 | 数值 |
|---|---|
| 单节点理论峰值 | 6656 GFlops |
| 最高实测 | 6433.05 GFlops(效率 96.6%) |
| 最低实测 | 5777.46 GFlops(效率 86.8%) |
| 平均实测 | 约 6218 GFlops |
| 平均效率 | 93.4% |
说明:个别节点实测偏低(87% 左右)通常是内存颗粒体质、节点间温度或已用年限差异,验收时以全体节点平均为准,但应单独排查低于 90% 的节点。
2.2 效率分布速览
| 效率档位 | 对应实测 (GFlops) | 典型情况 |
|---|---|---|
| 96%+ | 6389+ | 调优到位、体质好的节点 |
| 93%~95% | 6189~6323 | 多数节点水平(平均档) |
| 90%~93% | 5990~6189 | 可接受,需关注 |
| <90% | <5990 | 建议排查内存/散热/降频 |
3. 内存带宽效率:另一个常被忽略的指标
同一批节点用 STREAM 口径测内存带宽:
实测约 418000 MB/s,效率 74.2%。这是 DDR 平台的典型水平(70%~80% 均属正常)。
| 指标 | 理论 | 实测 | 效率 |
|---|---|---|---|
| 内存带宽 | 563200 MB/s | ~418000 MB/s | 74.2% |
4. 扩展效率:80 节点与 36 节点实测
大规模 HPL 的实测效率会明显低于单节点,原因是进程间通信与矩阵分块的开销:
| 规模 | 理论 Rpeak | 实测 GFlops | 效率 | 运行时长 |
|---|---|---|---|---|
| 单节点(91 节点平均) | 6656 | ~6218 | 93.4% | 数十分钟 |
| 36 节点 | 239616 | 191494 | 79.9% | 约 58 分钟 |
| 80 节点 | 532480 | 417170 | 78.3% | 约 13.8 小时 |
关键结论:单节点 93% 的基线,扩到 80 节点后落在 78%~80%。这符合 HPL 的普遍规律——规模越大、矩阵越大、通信占比越高,效率越低。投标预估时不要用单节点效率外推整集群。
5. 预估公式(可直接套用)
给定节点数 和单节点理论 :
其中扩展效率 按规模取经验值:
| 规模 | 建议预估效率 | 说明 |
|---|---|---|
| 单节点 | 90%~93% | 调优到位取 93% |
| 8~16 节点 | 85%~88% | 通信开销开始显现 |
| 32~64 节点 | 80%~84% | 常规水平 |
| 80~128 节点 | 78%~82% | 大规模上限 |
| 256+ 节点 | 75%~80% | 需充分调 P×Q 网格 |
6. 配套工具:N_calculator 效率档位表
N_calculator.calculator 直接输出"不同效率下的 GFlops",用于快速预估:
text
*** 70% --> 4659.20 *** 80% --> 5324.80 *** 90% --> 5990.40 ***
*** 93% --> 6189.44 *** 95% --> 6323.20 *** 100%--> 6656.0 ***7. 实战流程建议
- 先用本方法预估:给出 单节点 93%、80 节点 78% 两档数字,填入交付方案。
- 再实测验证:单节点调优 → 小规模(2/4/8 节点)看扩展曲线 → 全规模跑一次确认。
- 交付文档中同时给出理论值、实测值、效率三个数,口径清晰。
8. 结论
- 单节点 HPL 效率做到 93% 左右是 x86 平台(AVX-512、Intel MKL)的合理预期。
- 80 节点扩展后效率约 78%~80%,预估时按规模分档,不要一刀切。
- 内存带宽效率 ~74% 单独记录,别和 HPL 效率混淆。
下一篇进入真正的实测环节:CPU HPL 实测:从单节点到 80 节点。