FLOPS

1. 什么是 FLOPS?

FLOPS 是 “Floating-point Operations Per Second” 的缩写,中文译为“每秒浮点运算次数”。它是一个用来衡量计算设备性能、特别是其计算速度的核心指标。简单来说,FLOPS 值越高,代表计算机每秒钟能完成的浮点运算次数越多,其计算能力就越强。

什么是“浮点运算”?

在计算机科学中,数字可以分为两类:整数(Integer)和浮点数(Floating-point Number)。
  • 整数:没有小数部分的数字,如 5100
  • 浮点数:带有小数的数字,如 3.141590.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...
文章列表

加载中