2015/10/30
ARM Cortex-A72 の浮動小数点演算速度 (Amazon Fire TV)
Amazon Fire TV (2015) で vfpbench を走らせてみました。下記表の MT8173C (上 2つ) が Fire TV です。
(SP/DP/SP-MT/DP-MT の単位は MFLOPS GFLOPS,数値が大きい方が高速)
詳細な結果は下記に追加しています。(big core のみ計測しています)
・VFP Benchmark Log
Cortex-A72 はピーク性能に突出したところはなく core あたり 8 fop (単精度 SIMD4 FMA) と標準的。SIMD2 の結果から Cortex-A15 同様 64bit 2pipe の構成であることもわかります。
ただしスカラー命令にはかなり違いがあるようです。Cortex-A72 では NEON だけでなくスカラー命令も 2 pipe 並列に実行できるらしく、加算で Cortex-A15 のおよそ 2倍。これは AArch32 mode でも有効なので、ARMv7A でビルドしたバイナリでも 64bit CPU の方が高速に演算できることになります。
倍精度でも少々面白い結果になっています。AArch64 には倍精度浮動小数点演算の NEON 命令があるものの SIMD でも 2並列です。Cortex-A72 は 64bit x 2pipe なので、ピーク性能において NEON とスカラーの差がなくなっています。
AArch32 でも同じなので、倍精度 NEON 命令が使えない ARMv7A もピーク速度が落ちておらず AArch64 の NEON 相当の速度を維持しています。
下記は倍精度のみの抜粋です。AppleA7/TegraK1 は AArch32 と AArch64 で差が開いていますが Cortex-A72 はスコア差がありません。A7/K1 比でピーク速度で負けているものの AArch32 では逆転していることがわかります。
・CPU の浮動小数点演算能力の詳細
関連エントリ
・iPod touch 6 の浮動小数点演算速度は Core 2 Duo ライン超え
・iPad Air 2 (Apple A8X) の浮動小数点演算能力
・Android x86 Binary Translator を試してみる
・iPhone 5s A7 CPU の浮動小数点演算速度 (2) (arm64/AArch64/64bit)
・VFP Benchmark 関連
SoC | CPU | clock | AArch | fop | SP | DP | SP-MT | DP-MT |
---|---|---|---|---|---|---|---|---|
MT8173C | Cortex-A72 | 2.0GHz x2 | 64 | 16 | 15.875 | 7.946 | 31.756 | 15.882 |
MT8173C | Cortex-A72 | 2.0GHz x2 | 32 | 16 | 15.864 | 7.934 | 31.771 | 15.885 |
Tegra4 | Cortex-A15 | 1.8GHz x4 | 32 | 32 | 13.371 | 2.655 | 51.345 | 9.860 |
AppleA7 | Cyclone | 1.3GHz x2 | 64 | 32 | 20.621 | 10.313 | 40.871 | 20.480 |
AppleA7 | Cyclone | 1.3GHz x2 | 32 | 32 | 20.608 | 4.038 | 40.924 | 8.021 |
TegraK1 | Denver | 2.3GHz x2 | 64 | 24 | 17.906 | 8.762 | 34.888 | 17.601 |
TegraK1 | Denver | 2.3GHz x2 | 32 | 24 | 18.043 | 4.297 | 34.177 | 8.702 |
詳細な結果は下記に追加しています。(big core のみ計測しています)
・VFP Benchmark Log
Cortex-A72 はピーク性能に突出したところはなく core あたり 8 fop (単精度 SIMD4 FMA) と標準的。SIMD2 の結果から Cortex-A15 同様 64bit 2pipe の構成であることもわかります。
ただしスカラー命令にはかなり違いがあるようです。Cortex-A72 では NEON だけでなくスカラー命令も 2 pipe 並列に実行できるらしく、加算で Cortex-A15 のおよそ 2倍。これは AArch32 mode でも有効なので、ARMv7A でビルドしたバイナリでも 64bit CPU の方が高速に演算できることになります。
倍精度でも少々面白い結果になっています。AArch64 には倍精度浮動小数点演算の NEON 命令があるものの SIMD でも 2並列です。Cortex-A72 は 64bit x 2pipe なので、ピーク性能において NEON とスカラーの差がなくなっています。
AArch32 でも同じなので、倍精度 NEON 命令が使えない ARMv7A もピーク速度が落ちておらず AArch64 の NEON 相当の速度を維持しています。
下記は倍精度のみの抜粋です。AppleA7/TegraK1 は AArch32 と AArch64 で差が開いていますが Cortex-A72 はスコア差がありません。A7/K1 比でピーク速度で負けているものの AArch32 では逆転していることがわかります。
SoC | CPU | clock | AArch | DP | DP-MT |
---|---|---|---|---|---|
MT8173C | Cortex-A72 | 2.0GHz x2 | AArch64 | 7.946 | 15.882 |
MT8173C | Cortex-A72 | 2.0GHz x2 | AArch32 | 7.934 | 15.885 |
SoC | CPU | clock | AArch | DP | DP-MT |
AppleA7 | Cyclone | 1.3GHz x2 | AArch64 | 10.313 | 20.480 |
AppleA7 | Cyclone | 1.3GHz x2 | AArch32 | 4.038 | 8.021 |
SoC | CPU | clock | AArch | DP | DP-MT |
TegraK1 | Denver | 2.3GHz x2 | AArch64 | 8.762 | 17.601 |
TegraK1 | Denver | 2.3GHz x2 | AArch32 | 4.297 | 8.702 |
・CPU の浮動小数点演算能力の詳細
関連エントリ
・iPod touch 6 の浮動小数点演算速度は Core 2 Duo ライン超え
・iPad Air 2 (Apple A8X) の浮動小数点演算能力
・Android x86 Binary Translator を試してみる
・iPhone 5s A7 CPU の浮動小数点演算速度 (2) (arm64/AArch64/64bit)
・VFP Benchmark 関連
Amazon Fire TV (2015) と Fire TV Stick (2015) が発売されました。
Fire TV は MT8173C を搭載しており Fire (Kindle) 初の 64bit 機となっています。CPU core は Cortex-A72 で ARM のハイエンド系 64bit Core の 2世代目です。ただし 2+2 の big.LITTLE なのでハイパフォーマンス Core の担当は実質 Dual core になります。
GPU も PowerVR GX6250 と、Fire HD 6/7 に使われている Rogue G6200 (Series6) よりも一つ新しい Series6XT になりました。Apple でいえば A8/A8X と同じ世代ですが、Shader core 数は A8/A8X の 1/2~1/4 と少なくなっています。
どちらも世代は新しいものの Core の数は決して多くなく、コストとのバランスを保っている印象です。
Fire TV (2015) で気になっていたのは Developer サイトの公式の Spec 表で OpenGL ES 3.1 AEP に対応しているかのように書かれていたことです。AEP に対応しているのは Series7 以降のはずなので、実機で確認してみました。
下記の通り AEP には非対応でした。
より詳細なデータは下記に掲載しました。
・CPU/GPU OpenGL ES Extension (Mobile GPU)
Fire TV Stick (2015) はスティック状のストリームプレイヤーで Chromecast に似ています。ただし Chromecast と違い普通に Fire OS (Android) が動作しており Native なアプリがローカルで走ります。
ハードウエアの仕様自体は最初に発表された Fire TV Stick 2014 から特に変わっていないようです。Developer サイトの Spec 表でも 2014 モデル時のまま Fire OS 3.0 (API Level 17) と記載されています。
ところが実際に実機を調べたところ、低スペックながら Fire TV 同様 Fire OS 5.0 が動作しており API Level 22 (Android 5.1 相当) であることがわかりました。
GPU は Raspberry Pi と同じ VideoCore IV です。
こちらも詳細は下記のページに追加しました。
・CPU/GPU OpenGL ES Extension (Mobile GPU)
関連エントリ
・Android 5.0 Nexus Player x86 と対応 ABI
・(Kindle) Fire HD 6 は OpenGL ES 3.0 対応で非対称 4 core CPU
・Amazon Fire TV の性能
Fire TV は MT8173C を搭載しており Fire (Kindle) 初の 64bit 機となっています。CPU core は Cortex-A72 で ARM のハイエンド系 64bit Core の 2世代目です。ただし 2+2 の big.LITTLE なのでハイパフォーマンス Core の担当は実質 Dual core になります。
GPU も PowerVR GX6250 と、Fire HD 6/7 に使われている Rogue G6200 (Series6) よりも一つ新しい Series6XT になりました。Apple でいえば A8/A8X と同じ世代ですが、Shader core 数は A8/A8X の 1/2~1/4 と少なくなっています。
どちらも世代は新しいものの Core の数は決して多くなく、コストとのバランスを保っている印象です。
Device | SoC | RAM | CPU | 64 | GPU | API | |
---|---|---|---|---|---|---|---|
Fire TV 2014 | APQ8064T | 2GB | Krait 300 | 4 | N | Adreno 320 | ES3.0 |
Fire TV 2015 | MT8173C | 2GB | Cortex-A72/A53 | 2+2 | Y | PowerVR GX6250 | ES3.1 |
Fire TV Stick | Broadcom 28155 | 1GB | Cortex-A9 | 2 | N | VideoCore IV | ES2.0 |
Apple TV | Apple A8 | 2GB | Cyclone | 2 | Y | PowerVR GX6450 | Metal |
Nexus Player | Atom Z3560 | 1GB | Silvermont | 4 | N | PowerVR G6430 | ES3.1 |
Fire TV (2015) で気になっていたのは Developer サイトの公式の Spec 表で OpenGL ES 3.1 AEP に対応しているかのように書かれていたことです。AEP に対応しているのは Series7 以降のはずなので、実機で確認してみました。
下記の通り AEP には非対応でした。
// Amazon Fire TV 2015 GL_VERSION: OpenGL ES 3.1 build 1.4@3443629 GL_RENDERER: PowerVR Rogue GX6250 GL_VENDOR: Imagination Technologies GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 3.10 build 1.4@3443629 Extension: GL_EXT_blend_minmax GL_EXT_color_buffer_float GL_EXT_discard_framebuffer GL_EXT_draw_buffers GL_EXT_multi_draw_arrays GL_EXT_multisampled_render_to_texture GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_separate_shader_objects GL_EXT_shader_framebuffer_fetch GL_EXT_shader_texture_lod GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_sRGB_decode GL_IMG_multisampled_render_to_texture GL_IMG_program_binary GL_IMG_read_format GL_IMG_shader_binary GL_IMG_texture_compression_pvrtc GL_IMG_texture_compression_pvrtc2 GL_IMG_texture_format_BGRA8888 GL_IMG_texture_npot GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_KHR_debug GL_KHR_texture_compression_astc_ldr GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth24 GL_OES_depth_texture GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_element_index_uint GL_OES_fragment_precision_high GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_required_internalformat GL_OES_rgb8_rgba8 GL_OES_shader_image_atomic GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_npot GL_OES_texture_stencil8 GL_OES_texture_storage_multisample_2d_array GL_OES_vertex_array_object GL_OES_vertex_half_float
より詳細なデータは下記に掲載しました。
・CPU/GPU OpenGL ES Extension (Mobile GPU)
Fire TV Stick (2015) はスティック状のストリームプレイヤーで Chromecast に似ています。ただし Chromecast と違い普通に Fire OS (Android) が動作しており Native なアプリがローカルで走ります。
ハードウエアの仕様自体は最初に発表された Fire TV Stick 2014 から特に変わっていないようです。Developer サイトの Spec 表でも 2014 モデル時のまま Fire OS 3.0 (API Level 17) と記載されています。
ところが実際に実機を調べたところ、低スペックながら Fire TV 同様 Fire OS 5.0 が動作しており API Level 22 (Android 5.1 相当) であることがわかりました。
GL_VERSION: OpenGL ES 2.0 GL_RENDERER: VideoCore IV HW GL_VENDOR: Broadcom GL_SHADING_LANGUAGE_VERSION: OpenGL ES GLSL ES 1.00 Extension: GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_paletted_texture GL_OES_texture_npot GL_OES_depth24 GL_OES_vertex_half_float GL_OES_EGL_image GL_OES_EGL_image_external GL_EXT_discard_framebuffer GL_OES_rgb8_rgba8 GL_OES_depth32 GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_EXT_debug_marker
GPU は Raspberry Pi と同じ VideoCore IV です。
こちらも詳細は下記のページに追加しました。
・CPU/GPU OpenGL ES Extension (Mobile GPU)
関連エントリ
・Android 5.0 Nexus Player x86 と対応 ABI
・(Kindle) Fire HD 6 は OpenGL ES 3.0 対応で非対称 4 core CPU
・Amazon Fire TV の性能
2015/10/13
Apple Watch と Android Wear を繋げてみた


装着時のバランスが悪く長さ調整が難しいのが難点。
さらに 3つ
