工具
指南

AI 算力换算

转换

在 FLOPS/TOPS 等 AI 算力单位之间换算。FLOPS 与 TOPS 衡量不同的运算,无法直接换算。

100% 客户端 无后端
FLOPS(浮点)与 TOPS/OPS(整数或混合)衡量不同的运算类型,无法直接换算。请在同一族内选择单位。
结果 —
全部单位(同族)
本页内容

什么是 AI 算力单位换算?#

AI 硬件用两套并行的”每秒运算次数”单位来标称,它们看着可以互换,其实不行。FLOPS 家族(FLOPS、kFLOPS、MFLOPS、GFLOPS、TFLOPS、PFLOPS、EFLOPS、ZFLOPS)统计的是每秒浮点运算次数——科学计算、训练吞吐、图形的传统度量。OPS 家族(OPS、kOPS、MOPS、GOPS、TOPS、POPS)统计的是每秒*整数或”混合”*运算次数——芯片厂商给 INT8 推理加速器报价时用的数字。一个”100 TOPS”的 NPU 和一个”100 TFLOPS”的 GPU 没法用同一把尺子比较,因为一个 TOPS”运算”和一个 FLOPS”运算”量的是不同的东西。

本页在同一家族内精确换算(每个单位都是其家族基准的整 1000 幂倍数),并对跨家族换算拒绝执行,而不是编一个比例出来。这种拒绝正是本页的核心:任何把 TFLOPS”换算”成 TOPS 的单一数字都是捏造,因为厂商之间连”一次乘加算一次运算还是两次运算”都没统一。

怎么用#

  1. 输入要换算的 Value(值)。
  2. 用分组下拉框选择 From(源单位)——单位列在两个 optgroup FLOPS 和 OPS 之下,家族的分界在选择器里一目了然。
  3. 同样地选择 To(目标单位)。
  4. 读 Result(结果)。若两个单位同族,给出数值;若跨了族,则给出明确的跨族提示,而不是一个编出来的数。
  5. 展开 All units(全部单位),可一次性看到输入换算成同族所有单位的结果,四舍五入到 6 位有效数字。另一族的单位不会出现,因为它们不可换算。

核心特性#

  • 两个家族,绝不混淆。 FLOPS 与 OPS 显示为独立的 optgroup,绝不悄悄混用。同族内数学上是精确的(值 × from系数 ÷ to系数);跨族时工具明确说”不行”。
  • 诚实地拒绝跨族。 一个 TFLOPS → TOPS 的请求会返回显式的跨族错误,而不是一个看着合理却毫无意义的数字。这就是”换算器”与”瞎猜”的区别。
  • FLOPS 全档位到 ZFLOPS。 从单个 FLOPS 到 k、M、G、T、P、E、Z(10²¹),覆盖从嵌入式 MCU 到假想的”超百亿亿级”系统的全部量级。
  • OPS 全档位到 POPS。 从 OPS 到 k、M、G、T、P——正是厂商 INT8 推理参数表实际使用的跨度。
  • 六位有效数字四舍五入。 结果经过 epsilon 修正后四舍五入,抑制二进制浮点噪声,于是 1 TFLOPS 读作整整 1000 GFLOPS,而不是 999.9999999。
  • 全部单位表。 一个输入,同族所有单位一览——当参数表用 TOPS 报数、而你想同时看到 GOPS 和 MOPS 时很有用。

实例演示#

某 GPU 参数表标称 FP16 吞吐 1 TFLOPS。要换算成 GFLOPS,设值 1、From TFLOPS、To GFLOPS:

1 TFLOPS = 1000 GFLOPS

展开 All units,同一个值填满整个 FLOPS 家族:

FLOPS:   1,000,000,000,000
kFLOPS:  1,000,000,000
MFLOPS:  1,000,000
GFLOPS:  1,000
TFLOPS:  1
PFLOPS:  0.001
EFLOPS:  1e-6
ZFLOPS:  1e-9

现在试着把它和一个以 TOPS 标称的 NPU 比较:设 From TFLOPS、To TOPS。结果不是数字——而是跨族提示。这里没有任何物理上有意义的换算,因为 TFLOPS 量的是浮点运算(有它自己的精度语义),TOPS 量的是整数/混合运算(通常是 INT8),而一次乘加在某些厂商那里算一次运算、在另一些厂商那里算两次。诚实的答案是”没有更多信息就不可比”,这正是工具返回的结果。

常见问题#

为什么不能把 TFLOPS 换算成 TOPS?#

因为两者量的是不同的东西。TFLOPS 是每秒浮点运算次数;TOPS 是每秒整数(通常是 INT8)运算次数,两种运算类型之间没有固定比例——它取决于芯片的数据通路,以及一次乘加算一次还是两次运算。任何单一换算系数都是瞎猜。在 FLOPS 内部换算,或 OPS 内部换算,但不要跨族。

FLOPS 家族到底量的是什么?#

每秒浮点运算次数,精度以参数表所定义的为准(FP64、FP32、FP16、INT8 当作浮点……)。关键在于:“1 TFLOPS FP16”和”1 TFLOPS FP32”不是一样多的工作量——一块芯片的 TFLOPS 标称取决于你按哪种精度报数。读这个数字时永远要连同精度一起看;光有单位是不够的。

kFLOPS、MFLOPS、GFLOPS 都是 1000 的幂吗?#

是的。家族内每升一档就是 ×1000:1 kFLOPS = 1000 FLOPS,1 MFLOPS = 1000 kFLOPS,1 GFLOPS = 1000 MFLOPS,一直到 ZFLOPS(10²¹)。这里没有像 KiB 和 KB 那样的二进制/十进制歧义——算力单位一律是十进制。

为什么”全部单位”表里没有另一族?#

因为那些单位没法和你的输入换算。如果你输入的是 FLOPS 值,表里就显示所有 FLOPS 单位;OPS 单位被省略,而不是用编造的数字显示。想看 OPS 等价值,请把输入按 OPS 数值重新输入(来自一份确实用 OPS 报数的参数表),表格就会改填 OPS 那一列。