FLOPS

FLOPS（フロップス、Floating-point Operations Per Second）はコンピュータの性能指標の一つ。

概要 
FLoating point number Operations Per Secondの名称が示す通り、1秒間に浮動小数点演算が何回できるかの指標値ひいては性能値の事を指す。

ハードウェアの仕様として用いられるのは理論値であるが、ベンチマークソフトなどの計測から導き出される計測値は、理論値からは原則的に下がる。その為、理論値だけでなく、「理論的に算出された値の何%で実際のプログラムが動作するか」ということが重要になる（実測値）。実際の値が理論値に近いほど、より効率的なコンピュータだと考えられるからである。

パーソナルコンピュータ（以下PCと表記）向けのCPUやGPUメーカーは、計算ノードとしては単一のノードとなるので通常理論値で発表する（理論値がほぼそのまま実効値となる）が、一般的に並列方式スーパーコンピュータ（以下スパコンと表記）では多数の計算ノードのクラスタとして構築されるため、実際の計算能力を理論値に近づけるには高度な運用能力が必要であり、理論値ではなく LINPACK ベンチマークでの実測値がよく使われている。

2016年前後の時点において、普及している家庭用のPCのCPUはGFLOPS、スパコンの世界1位はPFLOPSの単位であるが、ムーアの法則にそって高速化が進んでおり、2018年に並列度1億でLINPACK性能値はEFLOPSの単位に到達すると予想されている。2000年頃からの理論値ではPCとスパコンの比例値は、おおよそ1万倍の差で推移している。

2020年4月現在、世界最高速のスパコンはSummitで200PFLOPS。分散コンピューティングでは、Folding@homeが一時的に2.4EFLOPSを突破した。

代表的なハードウェアの浮動小数点数演算能力

PC (Intel) 

Core 2 Duoより1クロックで SSE で加算と乗算が計算できるようになり128ビット幅だと倍精度で 4 FLOPS/クロック。Sandy Bridgeより搭載した Intel AVXは256ビット幅なので8FLOPS/クロック。Intel FMAは融合積和命令により1命令で積と和の2演算ができるので16FLOPS/クロック。単精度だと、これらの演算回数は2倍。Atomは1クロックで1つのSSE加算命令が、2クロックで1つのSSE乗算命令が実行できるため、合計すると倍精度で3FLOPS/クロックとなる。

サーバ (Intel)

PC/Server (AMD) 

Bulldozer は1モジュールにつき2つの128ビット積和演算器があり、倍精度は2つのFMA命令を同時実行することにより 8 FLOPS/Cycle。

ARM

NetWalker PC-Z1: CPU 3.2GFLOPS(ARM Cortex-A8 800MHz,SIMD), 0.64GFLOPS(同VFP)

ARM NEON はCortex-A15までは倍精度が扱えなく、単精度のみ。ARM NEON は 128ビット幅で単精度だと 4 FLOPS/Cycle だが、Cortex-A15 は FMA があるので 8 FLOPS/Cycle。

倍精度は、Cortex-A9 は VFPv3 により、2 cycle で足し算2回、乗算1回、合計3演算できるので、1.5 FLOPS/Cycle。Cortex-A15 は VFPv4 により、1 cycle で1回 FMA が計算できるので、2 FLOPS/Cycle。Cortex-A57より、NEONでも倍精度が扱えるようになる。

ゲーム機 
※いずれも単精度（FP32）
ドリームキャスト: 1.4GFLOPS（SH-4単体）
Xbox: 1.5GFLOPS
Xbox 360: 115.2GFLOPS（Xenon単体）、240GFLOPS（Xenos GPU単体）、1TFLOPS （システム全体）:但し詳しい内訳は不明
Xbox One: 1.3TFLOPS(GPU単体)、Xbox One S: 1.4TFLOPS(GPU単体)、Xbox One X: 6TFLOPS(GPU単体)
Xbox Series X: 12.15TFLOPS(GPU単体)、Xbox Series S: 4TFLOPS(GPU単体)
PlayStation Portable: CPU 2.6GFLOPS / 9.6GFLOPS（ピーク時/システム全体）
PlayStation 2: 6.2GFLOPS（Emotion Engine単体）
PlayStation 3: 218GFLOPS（Cell Broadband Engine単体）、224GFLOPS （RSX単体）、2TFLOPS （システム全体）:但し詳しい内訳は不明
PlayStation 4: 1.84TFLOPS（GPU単体）、PlayStation 4 Pro: 4.2TFLOPS（GPU単体）
PlayStation 5:10.3TFLOPS(GPU単体)

スーパーコンピュータ

分散コンピューティング

グラフィックスカード 
単精度の積和算を 2 FLOPS/Clock で行える。

NVIDIA
GeForce 8600 GTS: 92.8GFLOPS / 139GFLOPS（積和算 / 積和算、積算合計）
GeForce 8800 GT: 336GFLOPS / 504GFLOPS（積和算 / 積和算、積算合計）
GeForce 9600 GT: 208GFLOPS / 312GFLOPS（積和算 / 積和算、積算合計）
GeForce 9800 GTX+: 470GFLOPS / 705GFLOPS（積和算 / 積和算、積算合計）
GeForce GTX 280: 622GFLOPS / 933GFLOPS（積和算 / 積和算、積算合計）

AMD

ハイエンドでは倍精度(fp64)は 0.5 FLOPS/Cycle であるが、ミドルレンジ以下は 0.125 FLOPS/Cycle であったり、倍精度の計算が出来なかったりする。

Intel 

HD Graphicsの各EUは4-way SIMDの演算器を備えており、1命令で4並列の単精度浮動小数点演算が可能である。Sandy Bridgeより前の世代では1クロックでEUあたり1つの加算もしくは乗算命令を実行可能で、4FLOPS/EU。Sandy Bridge世代では1クロックでEUあたり1つのFMA命令を実行可能で、8FLOPS/EU。Ivy Bridge世代以降は1クロックでEUあたり2つのFMA命令を実行可能で、16FLOPS/EUとなる。

Qualcomm Snapdragon

Appleシリコン

Texas Instruments OMAP

NVIDIA Tegra

Samsung Exynos

GPUアクセラレーター

FPGA

脚注

関連項目 
MIPS
TOP500

外部リンク 
 TOP500 スーパーコンピュータランキング
 TOP500 List 2014/11

ベンチマーク
スーパーコンピュータ
周波数の単位