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 毎の並列度の詳細は下記の参照してください
計測結果は下記に追加しています。
関連エントリ
・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) の浮動小数点演算能力