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 は、ファミリー 10h AMD プロセッサ (Barcelona) で導入された IBS (命令ベースサンプリング) をサポートしています。IBS のサポートにより、CodeAnalyst はパイプラインストールやキャッシュミスを引き起こす命令をより正確に特定できます。[ 5 ]
CodeAnalystのLinux版はGNU General Public License 2.0の下で利用可能です。[ 6 ]
CodeAnalystは、 Qtフレームワーク、libdwarf、libelf、バイナリファイル記述子ライブラリなど、他のオープンソースコンポーネントも使用しています。
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)