AMDのCPUを搭載したデバイスにperf
を使用しようとしていますが、AMDからのcache-misses
の取得方法に関する情報は実際には見つかりません。 -e rNNN
と書く必要があるとお伝えします。NNN
は16進数のイベントですが、これらのコードを見るためのテーブルや何かを見つけることはできませんでした。あなたはこれを手伝ってもらえますか?インターネットに情報がまったくないようです。実際には、perf
のマニュアルにはいくつかのリンクがありますが、有効ではありません。(AMD perfイベント
答えて
チェックperf list
現代のLinuxカーネルバージョンでは、アーキテクチャ固有のハードウェアイベントが報告されることがあります。 とcycles
は、一般的なperf hwイベントであり、常にマッピングされているわけではありません(マッピングはperfdソースコード内で、cache-misses
の場合はhttp://elixir.free-electrons.com/linux/latest/source/arch/x86/events/amd/core.cです) - perf list
によって(特に古いカーネルの場合)、すべてが実際のハードウェアイベントにマッピングされるわけではありません。 [PERF_COUNT_HW_CACHE_MISSES] = 0x077e,
にマップされています)
また、perfリストから別のイベントを試してみてください。perf stat -e event1,cycles,instructions,cpu-clock
イベント1はチェックしたいイベントで、いくつかの作業中のイベントがあります。
生のイベントをエンコードするには、プロセッサのドキュメント、perfソース(正確な16進数エンコーディング用)、およびsome external toolsを使用する方が簡単です。インテルの場合、http://github.com/andikleen/pmu-toolsサイトからocperf.py
があります。また、http://www.bnikolic.co.uk/blog/hpc-prof-events.htmlで説明されているperfmon2/libpfm4のジェネリックなジェネレータがあります。showevtinfo
util(FAQのQ2eでrXXXXコードを取得する方法をお勧めします)のBojan Nikolicによる「CPUパフォーマンスイベントの全範囲を監視する方法」どのように私は、適切な「生」のイベント値を決定します):
これらのカウンタ1の完全な使用は、現在
XXXX
がコードである生の進コード(-e rXXXX
としてperf
ツールにそれらを指定する必要がありますようにするために)。これにより、次の2つの明白な疑問が生じます。
- どのようなコードを使用しますか?
- この情報は何を意味していますか?
私は、後の記事でこれらの第二をカバーするが、ここでは当分の間、使用する生コードを把握する方法であるでしょう:
は
perfmon2
/libpfm
(hの最新バージョンを取得/ tこのdeveloperWorksの記事):git clone git://perfmon2.git.sourceforge.net/gitroot/perfmon2/libpfm4; cd libpfm4; は、利用可能なすべてのイベントのリストを取得するには(
examples
サブディレクトリ内)実行
showevtinfo
プログラム作成、およびサポートされているマスクと修飾子は- (全出力の例については、以下の出力を参照します)
あなたが使用したいマスクとモディファイアを使って、どんな出来事と何を描くか。マスクには接頭辞
Umask
が付いており、角括弧の中に16進数と記号名で示されています。修飾子の先頭にはModif
があり、その名前も角括弧で囲みます。生コードに
event
、umask
とmodifiers
を変換するcheck_events
プログラム(また、実施例では、サブディレクトリ)を使用。これを行うには、次のコマンドを実行します。check_events <event name>:<umask>[(:modifers)*]
つまり、イベント名、umask、および複数の修飾子をすべてコロン文字で区切って指定します。プログラムは次に、例えば、とりわけ、生のイベント指定をプリントアウトします:コード:0x531003
- この16進コードは、によって
perf stat
に、たとえば、GNU/Linuxのperf
ツールへのパラメータとして使用することができます-e r531003
オプションを指定してください。
- 1. Google Compute EngineでLinux perfイベントのプロファイリングが機能しない
- 2. Oprofile vs perf
- 3. Array.prototype vs [] perf
- 4. perf statの式
- 5. AMD cpu
- 6. Perfスタックbacktraces on armv7l
- 7. perfコマンドで--exclude-perfオプションを使用できません
- 8. perfはどのようにイベントを関数に関連付けますか?
- 9. ARCH Linux ARMのすべてのイベントで "perf stat"が返されます。ARM
- 10. matlab mex for amd
- 11. 道場1.7 AMD
- 12. Open CL with AMD
- 13. requirejs/AMDのWebpack
- 14. AMD jQueryマルチセレクションウィジェット
- 15. SQL LIKE「[AMD]%」
- 16. アンドロイド用linuxツールperfをコンパイル
- 17. PerfツールLinux - No Call-Graph
- 18. ネイティブなPerfモニターの理解
- 19. MPIアプリケーションでperfを実行
- 20. google perfツールの使い方
- 21. は、サンプルの子プロセスを "perf record"または "perf record"できますか?
- 22. AndroidスタジオエミュレータとAMD CPU
- 23. jQuery 1.7+、AMD(RequireJS)、グローバルスコープ
- 24. AndroidエミュレータシステムイメージとAMDプロセッサ
- 25. AMDとrequire.jsのTypescript
- 26. opencl amdのclinfoエラー
- 27. ノックアウトAMDモジュールとR.js
- 28. Twilio AMD in .NET API?
- 29. AMD clEnqueueMapBufferと固定メモリ
- 30. AMD Intelプロセッサ対実行ファイル