Google の Pixel 7a は Pixel 7 や Fold と同じ Tensor G2 が搭載されています。Tensor G2 でも vfpbench を走らせてみました。
Tensor G2 には 3種類の CPU Core が搭載されています。
Cortex-A55 | x4 | 1.80 GHz |
Cortex-A78 | x2 | 2.35 GHz |
Cortex-X1 | x2 | 2.85 GHz |
それぞれの結果を詳しく見ると、A55 はスカラーの add, mul, fma や 64bit 演算で 2命令走りますが 128bit 演算では 1命令です。よって 64bit 演算 x2 の構成であることがわかります。
A55 FPU fmul (32bit x1) n8 : 0.319 3389.7 3389.7 ( 1.0 1.9) FPU fadd (32bit x1) n8 : 0.334 3243.8 3243.8 ( 1.0 1.8) FPU fmadd (32bit x1) n8 : 0.319 6785.6 3392.8 ( 2.0 1.9) NEON fmul.4s (32bit x4) n12 : 0.924 7027.6 1756.9 ( 4.0 1.0) NEON fadd.4s (32bit x4) n12 : 0.928 6995.3 1748.8 ( 4.0 1.0) NEON fmla.4s (32bit x4) n12 : 0.924 14046.3 1755.8 ( 8.0 1.0)
対して A78 はスカラーも 128bit 演算も変わらず 2命令で一定なので、128bit x2 になります。
A78 FPU fmul (32bit x1) n8 : 0.301 4676.9 4676.9 ( 1.0 2.0) FPU fadd (32bit x1) n8 : 0.301 4678.5 4678.5 ( 1.0 2.0) FPU fmadd (32bit x1) n8 : 0.301 9353.7 4676.9 ( 2.0 2.0) NEON fmul.4s (32bit x4) n12 : 0.452 18712.2 4678.1 ( 4.0 2.0) NEON fadd.4s (32bit x4) n12 : 0.452 18713.6 4678.4 ( 4.0 2.0) NEON fmla.4s (32bit x4) n12 : 0.452 37368.1 4671.0 ( 8.0 2.0)
最上位の Cortex-X1 はスカラー・ベクター関係なく add/mul 演算で 4命令、fma で 2命令です。fma のピーク値だけ見るとあまり差がないように見えますが、128bit x4 と演算能力が大きく拡張されており高いスループットが期待できます。
X1 FPU fmul (32bit x1) n8 : 0.151 11337.4 11337.4 ( 1.0 4.0) FPU fadd (32bit x1) n8 : 0.150 11370.1 11370.1 ( 1.0 4.0) FPU fmadd (32bit x1) n8 : 0.301 11364.5 5682.3 ( 2.0 2.0) NEON fmul.4s (32bit x4) n12 : 0.226 45347.7 11336.9 ( 4.0 4.0) NEON fadd.4s (32bit x4) n12 : 0.226 45353.3 11338.3 ( 4.0 4.0) NEON fmla.4s (32bit x4) n12 : 0.448 45813.8 5726.7 ( 8.0 2.0)
まとめると以下の通りです。
s-add | s-mul | s-fma | v-add | v-mul | v-fma | ||
Cortex-A55 | 2 | 2 | 2 | 1 | 1 | 1 | 64bit x2 |
Cortex-A78 | 2 | 2 | 2 | 2 | 2 | 2 | 128bit x2 |
Cortex-X1 | 4 | 4 | 2 | 4 | 4 | 2 | 128bit x4 |