加载中
FLOPS
1. 什么是 FLOPS?
FLOPS 是 “Floating-point Operations Per Second” 的缩写,中文译为“每秒浮点运算次数”。它是一个用来衡量计算设备性能、特别是其计算速度的核心指标。简单来说,FLOPS 值越高,代表计算机每秒钟能完成的浮点运算次数越多,其计算能力就越强。
什么是“浮点运算”?
在计算机科学中,数字可以分为两类:整数(Integer)和浮点数(Floating-point Number)。
- 整数:没有小数部分的数字,如
5
、100
。
- 浮点数:带有小数的数字,如
3.14159
、0.002718
。
浮点运算指的就是针对浮点数进行的数学运算,主要是加、减、乘、除。由于科学计算、人工智能、图形渲染等众多领域都需要处理和计算带有小数的复杂数据,因此浮点运算能力成为衡量高性能计算能力的关键。
2. 关键区分:FLOPS (性能单位) vs. FLOPs (计算量)
这是一个非常重要且容易混淆的概念。两者虽然看起来相似,但含义完全不同。
- FLOPS (全大写):
- 含义:每秒浮点运算次数。
- 类别:速率/性能单位 (Rate)。
- 用途:衡量硬件(如 CPU、GPU)的计算速度。
- 示例:NVIDIA RTX 4090 显卡的单精度性能约为 82.58 TFLOPS。
- FLOPs (s 小写):
- 含义:浮点运算的总次数 (Floating-point Operations)。
- 类别:计算量/复杂度单位 (Count)。
- 用途:衡量一个算法或模型(如一个神经网络)完成一次计算需要多少次浮点运算。
- 示例:训练一个大型语言模型可能需要 10^25 FLOPs 的总计算量。
简单类比:如果把计算任务比作一段路程,那么 FLOPs 就是这段路程的总长度(单位:米),而 FLOPS 就是你开车的速度(单位:米/秒)。
3. FLOPS 的常用单位
随着技术发展,计算机的算力呈指数级增长,因此 FLOPS 也衍生出不同的数量级单位:
单位 | 英文全称 | 运算次数/秒 | 数量级 |
MFLOPS | MegaFLOPS | 每秒一百万次 | 10⁶ |
GFLOPS | GigaFLOPS | 每秒十亿次 | 10⁹ |
TFLOPS | TeraFLOPS | 每秒一万亿次 | 10¹² |
PFLOPS | PetaFLOPS | 每秒一千万亿次 | 10¹⁵ |
EFLOPS | ExaFLOPS | 每秒一百亿亿次 | 10¹⁸ |
ZFLOPS | ZettaFLOPS | 每秒十万京亿次 | 10²¹ |
举例来说:
- 一台 90 年代的个人电脑可能只有几 MFLOPS 的性能。
- 现代主流的游戏主机(如 PS5)和高端消费级显卡拥有数十 TFLOPS 的性能。
- 全球顶尖的超级计算机已经进入 EFLOPS 时代,意味着它们每秒可以进行百亿亿次的浮点运算。
4. 常见 GPU 的 FLOPS
5. 理论峰值 FLOPS vs. 持续性能
在讨论硬件性能时,我们还会遇到两个概念:
- 理论峰值性能 (Peak FLOPS):这是指硬件在最理想的、没有任何瓶颈的情况下所能达到的最大计算速度。它通常可以通过一个简单的公式计算得出:
理论峰值 FLOPS = 处理器核心数 × 时钟频率 × 每个时钟周期执行的浮点运算次数
这个数值是硬件厂商在宣传中经常使用的指标。
- 持续性能 (Sustained FLOPS):这是指在运行实际应用程序(如科学计算软件或基准测试程序)时,硬件能够稳定维持的计算速度。由于受到内存带宽、数据I/O、操作系统开销、算法效率等多种现实因素的限制,持续性能通常远低于理论峰值。
因此,理论峰值可以看作是硬件的“天花板”,而持续性能更能代表其在实际工作中的表现。
6. FLOPS 与 MIPS 的区别
在 FLOPS 出现之前,MIPS(Million Instructions Per Second,每秒百万条指令)是衡量 CPU 性能的常用指标。两者的主要区别在于:
- FLOPS:专注于浮点运算性能。
- MIPS:衡量的是所有类型指令(包括整数运算、数据转移、逻辑判断等)的执行速度。
对于科学计算等浮点密集型应用,FLOPS 是一个更准确、更有意义的衡量标准。
上一篇
常见 GPU性能
下一篇
鉴权
Loading...