opengl:vfpbench
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン次のリビジョン両方とも次のリビジョン | ||
opengl:vfpbench [2013/09/22 19:01] – oga | opengl:vfpbench [2014/01/26 21:18] – [ARM CPU core 毎の浮動小数点演算速度の比較 (VFP/NEON)] oga | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== ARM の VFP 命令ごとの速度比較 ====== | + | ====== ARM CPU core 毎の浮動小数点演算速度の比較 |
+ | 計測アプリを公開しました。 | ||
+ | * [[http:// | ||
+ | * [[: | ||
- | ^ 命令 | ||
- | ^ ::: ^ C-A9 ^ C-A9 ^Scorpion^ | ||
- | ^ ::: ^ | ||
- | ^ ::: ^ ARMv7 ^ ARMv7 ^ ARMv7 ^ ARMv7 ^ ARMv7 ^ ARMv7 ^ ARMv7 ^ ARMv8 A32 ^ | ||
- | ^ ::: ^ VFPv3 ^ VFPv3 ^ VFPv3 ^ VFPv4 ^ VFPv4 ^ VFPv4 ^ VFPv4 ^ VFPv4 ^ | ||
- | ^ ::: ^ 1.0GHz ^ 1.2GHz ^ 1.2GHz ^ 1.3GHz ^ 1.4GHz ^ 1.5GHz ^ 1.7GHz ^ 1.?GHz ^ | ||
- | | a:m44 vmla_A Q | 4.784 | 3.959 | 2.859 | 1.293 | 1.204 | 1.337 | 0.619 | 0.700 | | ||
- | | b:m44 vmla_B Q | 2.408 | 2.002 | 1.136 | 1.359 | 1.266 | 0.931 | 0.569 | 0.670 | | ||
- | | c:m44 vmla_A D | 4.781 | 3.980 | 3.053 | 1.669 | 1.554 | 1.889 | 0.557 | 0.649 | | ||
- | | d:m44 vmla_B D | 2.406 | 2.003 | 1.434 | 1.329 | 1.238 | 1.532 | 0.568 | 0.745 | | ||
- | | A:m44 vfma_A Q | ----- | ----- | ----- | 1.632 | 1.519 | 1.882 | 0.746 | 0.707 | | ||
- | | B:m44 vfma_B Q | ----- | ----- | ----- | 1.594 | 1.484 | 0.695 | 0.840 | 0.699 | | ||
- | | e: | ||
- | | f: | ||
- | | g: | ||
- | | h: | ||
- | | i:vadd.f32 D A | 4.111 | 3.426 | 3.377 | 3.091 | 2.877 | 2.762 | 1.183 | 1.031 | | ||
- | | j:vmul.f32 D A | 4.110 | 3.421 | 3.383 | 3.168 | 2.950 | 2.746 | 1.478 | 1.545 | | ||
- | | k:vmla.f32 D A | 4.512 | 3.792 | 3.380 | 3.166 | 2.951 | 5.604 | 1.480 | 1.567 | | ||
- | | l:vadd.f32 Q A | 8.023 | 6.688 | 3.377 | 3.090 | 2.878 | 2.801 | 2.365 | 1.031 | | ||
- | | m:vmul.f32 Q A | 8.022 | 6.681 | 3.384 | 3.166 | 2.952 | 2.761 | 2.364 | 1.548 | | ||
- | | n:vmla.f32 Q A | 8.025 | 6.681 | 3.380 | 3.167 | 2.950 | 5.606 | 2.367 | 1.574 | | ||
- | | o:vfma.f32 D A | ----- | ----- | ----- | 3.167 | 2.494 | 2.833 | 1.479 | 1.574 | | ||
- | | p: | ||
- | | q: | ||
- | | r: | ||
- | | s: | ||
- | | t:vadd.f32 D B | 4.113 | 3.421 | 5.916 | 3.090 | 2.881 | 3.529 | 2.958 | 3.663 | | ||
- | | u:vmul.f32 D B | 4.118 | 3.422 | 5.073 | 3.169 | 2.949 | 3.447 | 2.364 | 3.114 | | ||
- | | v:vmla.f32 D B | 9.027 | 7.561 | 8.451 | 6.180 | 5.755 | 6.293 | 4.728 | 6.185 | | ||
- | | w:vadd.f32 Q B | 8.021 | 6.705 | 5.916 | 3.090 | 2.879 | 3.457 | 2.961 | 3.659 | | ||
- | | x:vmul.f32 Q B | 8.029 | 6.683 | 5.074 | 3.167 | 2.950 | 3.428 | 2.363 | 3.101 | | ||
- | | y:vmla.f32 Q B | 9.026 | 7.532 | 8.457 | 6.179 | 5.759 | 6.372 | 4.729 | 6.199 | | ||
- | | z:vfma.f32 D B | ----- | ----- | ----- | 6.181 | 5.755 | 3.437 | 4.730 | 6.188 | | ||
+ | ^ 命令(AArch32) | ||
+ | ^ ::: ^iPhone3GS^iPod touch4^ | ||
+ | ^ ::: ^ C-A8 | ||
+ | ^ ::: ^ S5PC100 ^ | ||
+ | ^ ::: ^ ARMv7 ^ ARMv7 ^ ARMv7 ^ ARMv7 ^ ARMv7 ^ ARMv7 ^ ARMv7 ^ ARMv7 ^ ARMv7 ^ ARMv7 ^ ARMv7 ^ ARMv8 A32 ^ ARMv8 A64 ^ | ||
+ | ^ ::: ^ VFPv3 ^ VFPv3 ^ VFPv3 ^ VFPv3 ^ VFPv3 ^ VFPv3 ^ VFPv3 ^ VFPv4 ^ VFPv4 ^ VFPv4 ^ VFPv4 ^ VFPv4 ^ AdvNEON | ||
+ | ^ ::: ^ 0.6GHz ^ 0.8GHz ^ 1.0GHz ^ 1.0GHz ^ 1.0GHz ^ 1.2GHz ^ 1.2GHz ^ 1.3GHz ^ 1.4GHz ^ 1.5GHz ^ 1.7GHz ^ | ||
+ | | a:m44 vmla_A Q | 9.907 | 7.725 | 7.387 | ----- | 4.784 | 3.959 | 2.859 | 1.293 | 1.204 | 1.337 | 0.619 | 0.700 | ----- | 0.661 | | | ||
+ | | b:m44 vmla_B Q | 5.874 | 4.200 | 4.542 | ----- | 2.408 | 2.002 | 1.136 | 1.359 | 1.266 | 0.931 | 0.569 | 0.670 | ----- | 0.542 | | | ||
+ | | c:m44 vmla_A D | 9.816 | 7.052 | 7.331 | ----- | 4.781 | 3.980 | 3.053 | 1.669 | 1.554 | 1.889 | 0.557 | 0.649 | ----- | 0.888 | | | ||
+ | | d:m44 vmla_B D | 5.894 | 4.162 | 4.528 | ----- | 2.406 | 2.003 | 1.434 | 1.329 | 1.238 | 1.532 | 0.568 | 0.745 | ----- | 0.768 | | | ||
+ | | A:m44 vfma_A Q | ----- | ----- | ----- | ----- | ----- | ----- | ----- | 1.632 | 1.519 | 1.882 | 0.746 | 0.707 | 0.692 | 1.178 | fmla v AQ | | ||
+ | | B:m44 vfma_B Q | ----- | ----- | ----- | ----- | ----- | ----- | ----- | 1.594 | 1.484 | 0.695 | 0.840 | 0.699 | 0.696 | 0.463 | fmla v BQ | | ||
+ | | e: | ||
+ | | f: | ||
+ | | g: | ||
+ | | h: | ||
+ | | i:vadd.f32 D A | 7.331 | 5.136 | 5.509 | ----- | 4.111 | 3.426 | 3.377 | 3.091 | 2.877 | 2.762 | 1.183 | 1.031 | 1.031 | 1.866 | fadd.2s D A | | ||
+ | | j:vmul.f32 D A | 7.044 | 5.134 | 5.511 | ----- | 4.110 | 3.421 | 3.383 | 3.168 | 2.950 | 2.746 | 1.478 | 1.545 | 1.545 | 1.864 | fmul.2s D A | | ||
+ | | k:vmla.f32 D A | 7.831 | 5.891 | 6.195 | ----- | 4.512 | 3.792 | 3.380 | 3.166 | 2.951 | 5.604 | 1.480 | 1.567 | ----- | 2.051 | | | ||
+ | | o:vfma.f32 D A | ----- | ----- | ----- | ----- | ----- | ----- | ----- | 3.167 | 2.494 | 2.833 | 1.479 | 1.574 | 1.753 | 1.871 | fmla.2s D A | | ||
+ | | l:vadd.f32 Q A | 14.065 | 10.339 | 11.016 | ----- | 8.023 | 6.688 | 3.377 | 3.090 | 2.878 | 2.801 | 2.365 | 1.031 | 1.039 | 1.872 | fadd.4s Q A | | ||
+ | | m:vmul.f32 Q A | 14.413 | 10.302 | 11.016 | ----- | 8.022 | 6.681 | 3.384 | 3.166 | 2.952 | 2.761 | 2.364 | 1.548 | 1.548 | 1.879 | fmul.4s Q A | | ||
+ | | n:vmla.f32 Q A | 14.381 | 10.287 | 11.035 | ----- | 8.025 | 6.681 | 3.380 | 3.167 | 2.950 | 5.606 | 2.367 | 1.574 | ----- | 2.059 | | | ||
+ | | N:vfma.f32 Q A | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | 1.696 | ----- | fmla.4s Q A | | ||
+ | | p: | ||
+ | | q: | ||
+ | | r: | ||
+ | | s: | ||
+ | | t:vadd.f32 D B | 7.280 | 5.139 | 5.507 | ----- | 4.113 | 3.421 | 5.916 | 3.090 | 2.881 | 3.529 | 2.958 | 3.663 | 3.643 | 1.865 | fadd.2s D B | | ||
+ | | u:vmul.f32 D B | 7.044 | 5.140 | 5.511 | ----- | 4.118 | 3.422 | 5.073 | 3.169 | 2.949 | 3.447 | 2.364 | 3.114 | 3.289 | 2.339 | fmul.2s D B | | ||
+ | | v:vmla.f32 D B | 16.371 | 11.661 | 12.392 | ----- | 9.027 | 7.561 | 8.451 | 6.180 | 5.755 | 6.293 | 4.728 | 6.185 | ----- | 3.773 | | | ||
+ | | z:vfma.f32 D B | ----- | ----- | ----- | ----- | ----- | ----- | ----- | 6.181 | 5.755 | 3.437 | 4.730 | 6.188 | 6.237 | 2.340 | fmla.2s D B | | ||
+ | | w:vadd.f32 Q B | 14.209 | 10.354 | 11.020 | ----- | 8.021 | 6.705 | 5.916 | 3.090 | 2.879 | 3.457 | 2.961 | 3.659 | 3.641 | 1.875 | fadd.4s Q B | | ||
+ | | x:vmul.f32 Q B | 13.879 | 10.365 | 11.016 | ----- | 8.029 | 6.683 | 5.074 | 3.167 | 2.950 | 3.428 | 2.363 | 3.101 | 3.276 | 2.340 | fmul.4s Q B | | ||
+ | | y:vmla.f32 Q B | 16.026 | 11.578 | 12.394 | ----- | 9.026 | 7.532 | 8.457 | 6.179 | 5.759 | 6.372 | 4.729 | 6.199 | ----- | 3.746 | | | ||
+ | | Y:vfma.f32 Q B | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | ----- | 6.226 | ----- | fmla.4s Q B | | ||
- | ==== 解説 ==== | + | * ↑数値は実行時間(秒) 数値が小さい方が速い |
+ | * すべて単精度 32bit float の演算です。 | ||
+ | ^ | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | (10) | HTC J butterfly HTL21 | APQ8064 | ||
+ | | (11) | Samsung Nexus 10 | Exynos5D | Cortex-A15 | 2 | 1.7GHz | ARMv7A | ||
+ | | (12) | Apple iPhone 5s | A7 | Cyclone | ||
+ | | (13) | Apple iPhone 5s | A7 | Cyclone | ||
+ | | (14) | Amazon Kindle HDX 7 | MSM8974 | ||
+ | |||
+ | |||
+ | * テスト項目の詳細は下記の解説記事を参照 (a:~z:) | ||
+ | |||
+ | ===== 解説 ===== | ||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
行 48: | 行 78: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
- | |||
- | |||
opengl/vfpbench.txt · 最終更新: 2014/05/05 21:43 by oga