| 開発者 | アム |
|---|---|
| オペレーティング·システム | Linux、Windows |
| タイプ | プロファイラー |
| ライセンス | プロプライエタリソフトウェア、GNU一般公衆利用許諾書[1] |
| Webサイト | developer.amd.com/tools/heterogeneous-computing/amd-codeanalyst-performance-analyzer/ |
AMD CodeAnalyst は、 x86およびx86-64ベースのマシン用のGUIベースのコードプロファイラーです。CodeAnalyst は、LinuxとMicrosoft Windowsプラットフォームの両方で同様の外観と操作性を備えています。CodeAnalyst は、AMD プロセッサで動作するように設計された特定のハードウェア プロファイリング手法と、特定のハードウェア サポートを必要としないタイマー ベースのプロファイリング手法を使用します。これにより、プロファイリング機能のサブセットがIntelプロセッサなどの AMD 以外のプロセッサでも動作できるようになります。[2]
2013年3月現在、CodeAnalystはAMD CodeXLに置き換えられました。[3]
コードの最適化
CodeAnalyst はLinux プラットフォーム用のOProfile上に構築されており、無料でダウンロードできます。GUI は、時間ベースのプロファイリング、ハードウェア イベント ベースのプロファイリング、命令ベースのプロファイリングなど、さまざまな種類のコード プロファイリングを支援します。これにより、各サブルーチンで費やされた時間などの詳細に関する統計が生成され、ソース コードまたは命令レベルまでドリルダウンできます。命令にかかる時間は、命令実行中のパイプラインの停止を示すことができます。最適化は、データ ライン キャッシュを最大限に活用するために命令を並べ替えたり、最大数の実行ユニット (ロード/ストア ユニット、ALU、FP実行ユニットなど) が並列に使用されるように分岐やループを変更/削除したりするのと同じくらい簡単です。
CodeAnalyst 3.4ではPERFのサポートが追加され、ユーザーはプロファイリングバックエンドとしてOProfileとPERFのどちらかを選択できるようになりました。[4]
命令ベースのサンプリング
CodeAnalystは、AMDプロセッサファミリー10h(バルセロナ)で導入されたIBS(命令ベースサンプリング)をサポートしています。IBSのサポートにより、CodeAnalystはパイプラインストールやキャッシュミスを引き起こす命令をより正確に識別できます。[5]
オープンソース
CodeAnalystのLinux版はGNU General Public License 2.0の下で利用可能です。[6]
CodeAnalyst は、 Qt フレームワーク、libdwarf、libelf、Binary File Descriptor ライブラリなどの他のオープンソース コンポーネントも使用します。
参照
- AMD uProf
- インテルVTune
- AMD コードXL
- パフォーマンス分析ツールのリスト
参考文献
- ^ AMD CodeAnalyst Performance Analyzer for Linux 2012年7月9日アーカイブ、Wayback Machine
- ^ 「AMD CodeAnalyst を Intel CPU で実行する方法」。VirtualDub。2009年 11 月 4 日。2012 年 2 月 26 日時点のオリジナルよりアーカイブ。2010年 2 月 23 日閲覧。
- ^ 「AMD CodeAnalyst のサポート終了のお知らせ」AMD Developer Central 2013年3月2日。2013年8月6日時点のオリジナルよりアーカイブ。 2013年3月10日閲覧。
- ^ 「AMD が Linux 向け CodeAnalyst 3.4 をリリース!」。2013 年 11 月 9 日時点のオリジナルよりアーカイブ。2013 年 11 月 9 日閲覧。
- ^ 「AMD Developer Central」(PDF) 。AMD。2012年2月14日時点のオリジナル(PDF)からアーカイブ。 2012年2月14日閲覧。
- ^ Linux 用 AMD CodeAnalyst パフォーマンス アナライザー
外部リンク
- https://web.archive.org/web/20120204112454/http://developer.amd.com/tools/CodeAnalyst/Pages/default.aspx
