高性能コンピューティングコードのプロファイリングに関するリファレンスリクエスト


8

FortranとCでさまざまな行列アルゴリズムのコードを記述しています。ただし、VTuneを使用してコードをプロファイリングすると、通常は完全に理解できない用語に出くわします。ゼロからかなり高度なレベルまでプロファイリングを学習するための良いリソースはありますか?

私は数値コードのプロファイリングを楽​​しみにしていますが、他のコードのプロファイリングが異なっているとは思いません(私は間違っているかもしれません)。プロファイリングのチュートリアルが欲しいので、オンライン(無料)のPDFを好みますが、本やハンドブックは気にしません。

私はVTuneのハンドブックを読んでみましたが、それは中国語の本を読んで中国語を勉強しようとするようなものです。

さらに、VTuneは最善の方法ですか?私は本当にGUIが好きで、インテルMKLを使用しているので、Valgrindよりも優れていると思いました。

回答:


6

もう1つの一般的な選択は、PAPI http://icl.cs.utk.edu/papi/またはTAU http://www.cs.uoregon.edu/Research/tau/home.phpを使用することです。Valgrindはメモリエラーを見つけるのに最適です。

TACCのスライドの一部:

http://www.tacc.utexas.edu/user-services/training/course-materials

http://www.tacc.utexas.edu/c/document_library/get_file?uuid=fc609b77-b727-4bff-81a4-d30caa4013d4&groupId=13601


素晴らしいリンクをありがとう。PDF、本、またはその他の形でプロファイリングについて学ぶための優れたチュートリアルを提案することもできますか?
質問:

本はありませんが、聞いてみます。
aterrel 2012年

さて、数人に聞いた後、基本的には簡単なことを乗り越えた後で、コンピュータアーキテクチャについてよく知っている必要があります。最近、Intelチップにワードをロードするのがいかに速いかなど、馬鹿げたことに取り掛かりました(ハードウェアのプリフェッチを回避するのは、思ったほど簡単ではありません)。
aterrel 2012年


1

私がプロファイリングに幅広く使用しているツールはvalgrindです(グラフィカルインターフェースkcachegrindと組み合わせて)。Valgrindは一連の動的分析ツールです:メモリエラーの検出、スレッドバグのハンティング、プロファイリング。

Valgrindに関する参考文献:

残念ながら(どこから来たかに依存しますが:-))、valgrindはWindowsでは実行されず、LinuxおよびDarwinベースのマシンでのみ実行されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.