このブログの中を検索する

2012/06/20

perf : CPUの分岐予測の失敗、キャッシュミスをカウントするプロファイラ、Linux用

title: perf : CPUの分岐予測の失敗、キャッシュミスをカウントするプロファイラLinux用
url: http://research.preferred.jp/2012/06/centroid-path-decomposition/

snippet:
-----引用-----

perfは最近のCPUの機能がいろいろ使えるようになっているすごいプロファイラです。ビルドしなおしたりせずに使えるので、お手軽簡単でもあります。Linuxを使っているのであれば一度試しておく価値があるでしょう。Debian/Ubuntuであればapt-get install linux-toolsでインストールできます。

例:
   1,006,797,327 cache-references
       672,031,146 cache-misses              #   66.749 % of all cache refs
    15,364,571,222 branch-instructions
       389,161,442 branch-misses             #    2.53% of all branches
    67,849,694,976 instructions              #    0.59  insns per cycle
   114,053,128,530 cycles                    #    0.000 GHz
 
IPC(1クロックあたりの実行命令数、insns per cycleのところの数値です)

IPCの向上を阻害する要因は(おそらく)たくさんありますが、分岐予測の失敗、メモリもしくはIOなど遅いデバイスへのアクセス、の2つが大きな原因となり得るでしょう。上記の例では分岐予測の失敗は2.5%程度、キャッシュミスの割合は67%程度です。

-----引用-----

0 件のコメント:

コメントを投稿