超级计算与高性能计算基础
比较性能时必须同时确认浮点精度、测试方法和工作负载。理论峰值或单一基准成绩不能直接代表实际应用速度。
什么是超级计算
超级计算(supercomputing)通常指利用大规模、高性能计算资源解决普通计算机难以在可接受时间内完成的问题。超级计算机一般由大量计算节点组成;节点内可以包含 CPU、GPU 或其他加速器,节点之间通过高速网络互连,并配合并行文件系统和作业调度系统共同工作。
高性能计算(High-Performance Computing,HPC)是实现超级计算的一整套技术与方法,包括并行算法、计算机体系结构、高速网络、存储、系统软件和性能优化等。HPC 不等于“同时使用多台超级计算机”:一台多核服务器、一个计算集群、云端计算资源或一台大型超级计算机,都可以用于 HPC。
“超级计算”和“HPC”在日常表达中经常互换,但侧重点略有不同:前者更常指规模领先的计算系统及其使用,后者更强调完成高性能计算所需的技术体系。
如何衡量计算性能
FLOPS(Floating-Point Operations Per Second,每秒浮点运算次数)是衡量浮点计算能力的常用单位。常见量级包括:
| 单位 | 每秒浮点运算次数 |
|---|---|
| GFLOPS | $10^9$ |
| TFLOPS | $10^12$ |
| PFLOPS | $10^15$ |
| EFLOPS | $10^18$ |
性能数字必须和浮点精度、测试方法一起理解。例如,同一硬件的 FP16、FP32 和 FP64 性能可能相差很大;科学计算通常更关注 FP64,而部分人工智能工作负载会使用 FP32、FP16、BF16 或更低精度。
理论峰值性能
对于结构一致的 CPU,可用下面的简化公式估算理论峰值:
理论峰值 = 处理器数量 × 每颗处理器核心数 × 工作频率 × 每核心每周期浮点操作数
其中,每周期浮点操作数取决于向量宽度、向量执行单元数量、数据精度和指令类型。一次融合乘加(FMA)包含一次乘法和一次加法,通常按 2 次浮点运算计数。
这个公式只给出理想上限。实际应用还会受内存带宽、缓存命中率、网络通信、I/O、负载均衡、算法向量化程度和功耗限制等因素影响。现代处理器的频率还会随负载、温度和指令类型动态变化,因此估算时应明确采用的是基础频率、实际全核频率还是厂商公布的计算频率。
HPL 与 TOP500
TOP500 使用 High Performance Linpack(HPL)测试对全球已知的高性能计算系统进行排名。HPL 求解稠密线性方程组,主要反映系统的双精度浮点计算能力:
- Rmax:HPL 测得的最大性能;
- Rpeak:系统的理论峰值性能;
- 效率:通常用
Rmax / Rpeak表示。
HPL 便于跨系统比较,但不能代表所有真实应用的性能。内存访问密集、通信密集、稀疏计算或 I/O 密集型程序可能呈现完全不同的结果,评估系统时还应结合 HPCG、I/O 测试以及目标应用基准。
截至 2026 年 6 月发布的 TOP500 榜单,位列前三的系统是中国深圳的 LineShine(HPL Rmax 2.1984 EFLOPS)、美国劳伦斯利弗莫尔国家实验室的 El Capitan(1.809 EFLOPS)和美国橡树岭国家实验室的 Frontier(1.353 EFLOPS)。榜单每年更新两次,最新排名和数据请以 TOP500 当前榜单 为准。
典型应用
超级计算适用于计算量大、数据规模大或需要大量参数探索的问题,例如:
- 天气预报、气候与海洋模拟;
- 航空航天、流体力学、燃烧与结构分析;
- 材料设计、量子化学、分子动力学与药物研发;
- 天体物理、地震模拟和能源勘探;
- 基因组学和生物信息学;
- 大规模人工智能模型的训练与推理。
人工智能是超级计算的重要应用方向之一,但两者不是同义词。超级计算还长期服务于建模与仿真、数据分析和工程计算;人工智能工作负载也可以运行在个人设备、边缘设备或普通云服务器上。
并行计算与超级计算
并行计算是把一个问题拆分成多个可同时执行的任务。它可以发生在一个 CPU 的多个核心之间、一个节点的多块加速器之间,也可以跨多个节点进行。超级计算系统广泛采用并行计算,但“并行计算机”和“超级计算机”并不完全等价:普通多核计算机同样支持并行计算,系统是否属于超级计算机还与整体规模、性能和用途有关。