iPhone SE, Apple A9 の浮動小数点演算速度

iPhone SE で vfpbench を走らせてみました。
単位は GFLOPS で数値が大きい方が高速です。SP-MT で速い順に並べています。

CPU clock SP-ST DP-ST SP-MT DP-MT
Apple A9 1.85GHz x2 41.857 14.545 81.071 28.333
Apple A8X 1.50GHz x3 23.568 11.751 68.591 33.968
Apple A8 1.40GHz x2 22.194 11.105 44.331 22.084
Apple A7 1.30GHz x2 20.621 10.313 40.871 20.480
Apple A6X 1.40GHz x2 10.855 1.818 21.502 3.573

・SP=単精度, DP=倍精度, ST=SingleThread, MT=MultiThread

Apple A9 は Core 単体の演算能力が非常に上がっていることがわかります。Core 単体の演算速度 SP-ST ですでに 41.9 GFLOPS に達し、Multi-Thread 時の SP-MT では 2 core の A9 が 3 core の A8X を上回っています。クロック差を考えると iPad Pro の A9X はおそらく 100 GFLOPS を超えるでしょう。

他の CPU との比較は下記の通り。Ivy Bridge i5 は Mac Book Pro Late2013 (Core i5-3210M) の結果です。

CPU clock SP-ST DP-ST SP-MT DP-MT
Ivy Bridge i5 2.50GHz x2 48.604 24.315 90.249 45.223
Apple A9 1.85GHz x2 41.857 14.545 81.071 28.333
Tegra K1 2.20GHz x4 17.136 3.431 70.174 14.036
Athlon 5350 2.01GHz x4 15.943 6.127 63.737 24.504
Snapdragon 805 2.70GHz x4 15.575 4.547 64.316 20.393

clock から逆算すると A9 の CPU Twister は単精度の NEON 命令を 3 つ同時に実行しており、積和 x NEON 4 x 3 pipe で clock あたり 24 flop 相当となります。Ivy Bridge が 16 flop, Haswell が 32 flop なのでその中間です。ただし Haswell は 8 並列の AVX x 2 pipe なので、並列度で言えば Twister の方が上回っていることになります。単精度のスカラー命令や SSE との比較なら Twister の方が高速に実行できるかもしれません。

なお倍精度では乗算と積和が 2 並列となっており、A8 Typhoon 世代と同等になっているようです。

CPU 毎の並列度の詳細は下記の参照してください

CPU の浮動小数点演算能力の詳細

計測結果は下記に追加しています。

VFP Benchmark Log 計測結果まとめ

関連エントリ
Raspberry Pi 3 の速度比較, Cortex-A53 の速度
ARM Cortex-A53 の浮動小数点演算速度とコンパイル時間の比較
2955U vs N3150/J1900/Athlon5350 (コンパイル時間の比較)
Apple TV の浮動小数点演算速度。Fire TV/Android TV との比較など
iPod touch 6 の浮動小数点演算速度は Core 2 Duo ライン超え
iPad Air 2 (Apple A8X) の浮動小数点演算能力