2009-04-06 6 views
1

現代のプロセッサは、処理要素の高速化と外部メモリの遅れとの間のギャップを埋めるためにあらゆる種類のトリックを使用します。パフォーマンスクリティカルなアプリケーションでは、コードを構造化する方法は、しばしば効率に大きな影響を与えます。たとえば、SLOアナライザを使用していた研究者は、キャッシュローカリティの問題を修正し、いくつかのSPEC2000ベンチマークプログラムの実行速度を2倍にすることができました。私は、キャッシュミス、分岐ミス予測、フロントエンドストール、アドレスエイリアシングによるキャッシュ汚染、長いレイテンシ命令、TLBミスなど、アーキテクチャの非効率性を見つけて分析するプロセッサのパフォーマンスモニタリングサポートを利用するオープンソースツールの推奨を探しています。私はIntelのVTune(商用)、AMDのCodeAnalysist(無料だがオープンソースではない)、Cachegrind(シミュレーションに依存している)を知っている。低レベルのアーキテクチャ非効率性を分析するためのオープンソースプロファイラ?

答えて

1

Linuxの場合、oprofileはうまくいきます。実際、AMDのCodeAnalysistはoprofileをバックエンドとして使用しています。

Oprofileは、アーキテクチャの非効率性を分析するために、プロセッサの内部パフォーマンス調整メカニズムを使用します。

+0

素晴らしい! Oprofileのopcontrol --list-eventsは、実際に監視したいイベントのネットをリストします。 –