FLOPS

**FLOPS**（フロップス、**''Fl**oating-point **O**perations **P**er **S**econd''）はコンピュータの性能指標の一つ。

## 概要
FLoating point number Operations Per Secondの名称の通り「1秒間に浮動小数点演算が何回できるか」を表す値である。文脈により、プロセッサ（CPUやGPUなど）の理論的な演算性能を表す場合とベンチマークの計測値を指す場合がある。

計測値は原則として理論値未満となるため、理論値だけでなく「理論的に算出された値に対してどの程度の効率で実際のプログラムが動作するか」ということが重要となる。
ベンチマークでは特定の処理に偏った計算が行われている場合があり、性能を一面的にしか捉えていないとされる場合もある。

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

また、FLOPS比較は映像処理において暗黙の前提に「解像度はネイティブ」「画面はピクセル単位で計算」「見た目の良さ=ピクセル数×演算量」がある。しかし2018年に登場したDLSS（内部解像度が低いが出力は高い）の登場によりこの前提は崩壊した。これは演算の主体が変わった事を意味しており、従来の「FS32演算器でシェーダがピクセルを塗る」のではなく「Tensorコアが行列演算を行い画像復元を行う」方式へと移行しているためとなる。

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

2024年3月現在、世界最高速のスパコンはFrontierで1.102EFLOPS。分散コンピューティングでは、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アーキテクチャ|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（積和算 / 積和算、積算合計）
*8800 GT: 336GFLOPS / 504GFLOPS（積和算 / 積和算、積算合計）
*9600 GT: 208GFLOPS / 312GFLOPS（積和算 / 積和算、積算合計）
*9800 GTX+: 470GFLOPS / 705GFLOPS（積和算 / 積和算、積算合計）
*GTX 280: 622GFLOPS / 933GFLOPS（積和算 / 積和算、積算合計）

#### AMD Radeon

ハイエンドでは倍精度(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