Arm Streamline パフォーマンスアナライザー
Streamlineは、Arm DSに付属する、パフォーマンスアナライザーです。
お客様が作成したアプリケーションプログラムのプロファイリングを行い、
ボトルネックを特定や、アルゴリズムの評価などにご利用可能なツールです。
Arm DSの詳細について
お問合せ
Streamlineを活用するメリット
Streamlineを利用する事で、アプリケーションのボトルネックの特定が容易になります。
さらなる最適化の為に、アプリケーションの改良するべき部分を明確にすることができます。


実機上でのパフォーマンス解析
実機の評価ボードをご利用される場合には、DSTREAMファミリが必要です。
Arm社のDSTREAM 高性能デバッグ&トレースユニットは、Armプロセッサベースのハードウェアターゲットに対し、パワフルなソフトウェアデバッグと最適化を実現します。
DSTREAMの詳細
仮想評価ボード上でのパフォーマンス解析
Fixed Virtual Platformと呼ばれる、Arm社の評価ボードをソフトウェア上で、仮想的に再現した基板を利用した評価を行う事ができます。
FVPを利用すれば、実機が手元に無い場合であっても、ソフトウェアの評価が可能となります。
FVPの詳細
Streamlineによるプロファイリングに対応しているArmプロセッサについて
Streamlineは全ての Armv7ーA及びArmv8-Aアーキテクチャのコアを対応し、Arm Cortex-Aのコア上でテストに対応しております。
また、Arm Cortex-RおよびCortex-Mのコアもベアメタル上でのプロファイリングに対応しております。
Streamlineによるプロファイルに対応するMali GPUについて
Midgald(Mali-T600シリーズ以外)、Bifrost、Valhallアーキテクチャに対応しております。
Streamlineが対応している実行イメージについて
ELF形式で作成された実行イメージおよび、リンクされたファイルに対応しております。
Streamlineは、ELFイメージ向けに作成された、Android application package(APK) アーカイブファイルの内容を分析し、解析のためファイルに含まれている有効なELF実行イメージをパフォーマンス解析のために抽出する事ができます。
CFIについて
Call Frame Information ディレクティブを指定して頂く事により、例外発生時のスタックのアンワインド(unwinding)の情報を追加することができるようになります。
Streamlineからベアメタル・アプリケーションをプロファイリングするには
ベアメタル(Bare-metal)のOSを利用しないアプリケーションに対するプロファイリングを実行するためには、Barmanエージェントを利用して頂くか、Instruction Traceをご利用頂くことが必要です。
Barmanエージョンとのソースコードは、Arm Streamline パフォーマンスアナライザーのウェイザード機能を利用してターゲットに合わせて生成することができます。
Barmanは、下記のArmアーキテクチャが実装れたプロセッサに対応します。
- Armv7-A アーキテクチャ
- Armv7-R アーキテクチャ
- Armv7-M アーキテクチャ
- Armv8-A アーキテクチャ、AArch32とAArch64両方の実行モード
- Armv8-R アーキテクチャ
- Armv8-M アーキテクチャ
Instruction Traceをご利用頂く場合には、PTM 1.0~1.1、 ETM 3.0~3.5、ETM 4.0~4.2の何れかが、パフォーマンス解析を行いたいプロセッサに実装されている事が必要となります。
StreamlineからAndroid向けアプリケーションをプロファイリングするには
Arm Streamlineで、Android向けアプリケーションのプロファイリングを行うためには、 Python 3.5以上のインストールとAndroid Debug Bridge (adb)のインストールが必要です。インストーラの入手先につきましては、下記に示すURLのページをご参照ください。
https://developer.arm.com/documentation/101813/0704/Target-Setup/Set-up-your-host-machineStreamlineからLinuxのアプリケーションをプロファイルするには
StreamlineからLinuxのアプリケーションをプロファイルするには、ターゲットとコミュニケーションするために、タゲート上で、gatordと呼ばれるデーモンのインストールと実行が必要となります。
gatordは、ビルド済みの2つのイメージが用意されております。
- Armv7アーキテクチャやArmv8アーキテクチャのAArch32 実行ステートをターゲットにしたもの
- Armv8 アーキテクチャのAArch64をターゲットにしたもの