TOPS / TFLOPS

Last-modified: 2025-10-01 (水) 16:47:07

TOPS / TFLOPSとは

整数演算/浮動小数点演算 テラ(1012)回/秒。精度は基本的にはINT8/FP32。
演算性能の理論上のピーク値。演算と言っても、乗算・加算は考慮されるが、計算コストの重い割り算等は考慮されない。

2025年現在、主要GPU/NPUメーカーはカタログスペックとして公表しているが、どの程度信用していいのかは不明。
GeForceはスパース込みで、かつ5000番台以降はFP4での計算だと言われている。INT8非スパース換算だとRTX 4000番台以前は1/2~2/3程度、RTX 5000番台以降は1/3~1/2程度と見るのが妥当。
NPUやRadeonはINT8非スパースでの数字。
AI処理であれば、同メーカーで同世代の製品のTOPS比はある程度参考にしていいと思われる。
というのは、AI処理で計算時間がかかる部分はエンジニア(というかライブラリ)ができるだけGPU/NPUに計算しやすいようにお膳立てして行うため。

通常の用途ではメモリの読み込み待ち(ランダムリード/ライト)その他のI/O待ち時間が散発的に発生する為、CPUが計算に集中できるという状況は稀。
動画や音楽のエンコード等、最初から相当に時間がかかる処理でI/O待ちが少なくエンジニア(かライブラリ)が手間暇かけて最適化してる処理でないと全力は出ない。
プログラムもCPUが仕事しやすいように書かれてはいない(というか、書けない)ので、CPUはその仕事の大部分が「自分の手待ち時間が発生しないように先を読むこと」(分岐予測やアウトオブオーダー実行)になっている。

コンシューマ向け市場でFLOPSという言葉が使われ始めたのは2000年代前半で、グラボの3D性能を喧伝するために使われていた。
2023年、NVIDIAに置いて行かれていたIntelとAMDが相次いでNPUを発表し、カタログスペックにTOPSを使い始めた。当時のNPUは十数TOPSだった。
2024年、MicrosoftがCopilot+の動作環境を40TOPSと定め、次いでQualcommがNPU搭載機で「AI」PC市場に参入したことで競争が過熱し、TOPSも盛んに宣伝されるようになった。

CPUのTOPS/FLOPS計算方法

汎用性や開発効率は一切考慮されない極めてGPU/NPUに都合のいい数字なので、コンシューマ向けCPU単独の性能として前面に出されることは稀。

1クロックで計算できる演算回数×FMAユニット数×クロック周波数×コア数

1クロックで計算できる演算回数は

  • AVX2までしか対応していないCPU
    2×256÷数値精度(ビット数) ※FMA命令(積和演算)
  • AVX-512対応CPU
    2×512÷数値精度(ビット数) ※FMA命令(積和演算)

※FMA命令は1クロックで終わらないが、パイプライン処理されるのでCPUが手待ちにならなければ理論的にはスループットは維持される。

例 Core i7 14700 → Pコア FMA2ユニット×2.1-5.3GHz×8 / Eコア FMA1ユニット×1.5-4.2Ghz×12 AVX-512無効
64 × (2×[2.1-5.3GHz]×8 + 1×[1.5-4.2GHz]×12)
→ 3-9TOPS