問題タブ [intel-pin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 主なパフォーマンスと PIN のプロファイリングの不一致
実行時間の特定の属性を分析するために、プログラムの個別の実行でPerfとPINの両方を使用して、すべての情報を取得するつもりでした。PIN はインストラクション ミックスを提供し、Perf はそれらのミックスでのハードウェア パフォーマンスを提供します。健全性チェックとして、次のコマンド ライン引数のプロファイルを作成しました。
したがって、私の完全なコマンドライン入力は次のとおりです。
PIN コマンドでは、この投稿のために、ファイルのすべてのパスを無視しました。さらに、基本を変更しicount.so
て、デフォルトの動的命令カウントに加えて、命令の組み合わせも記録しました。結果は驚くほど違った
これは、ほぼ同じ命令数とほぼ同じ分岐分布を持つことにより、健全性チェックとして機能するはずでした。 動的命令カウントが 100 倍もずれているのはなぜですか?! 多少のノイズを期待していましたが、それは少し大きいです。
また、Perf では分岐の量は 20% ですが、PIN では約 25% と報告されています (これも少し広い差異のように見えますが、これはおそらく大量の命令数の歪みによる副作用にすぎません)。
c - 私が使用していない奇妙なmalloc関数があります
pin を使用して簡単なプログラムを分析します。
4 つの malloc 関数がありますが、malloctrace という pintool で pin を使用すると、4 つ以上の malloc が表示されます。
これらの malloc 関数は何ですか?
私のOSはUbuntu 12.04 64bitです。以下の項目は、私が作成したコードと pintool の結果です。
c++ - Intel Pin Get 関数の引数番号
Pin を使用して関数呼び出しトレーサを作成しようとしています。各関数呼び出しと各引数の値を出力できます。
難しいのは、関数のすべての引数を取得することです。RTN_InsertCall を使用すると、関数の引数を計測コードに渡すことができます。
intel pin RTN_InsertCall 複数の関数引数
ただし、現在のルーチンの引数の数を知る必要があります。それを行う方法はありますか?
ありがとう!
mpi - MPI コードで Intel Pin を使用する方法
私はMPIとIntel Pinにかなり慣れていません。Linux 環境に既に pin-2.13-62732-gcc.4.4.7-linux をインストールしているため、MPI コードでこのツールを使用する必要はありません。たとえば、MPIコード(imul.cなど)の命令数(ピンにすでに存在するinscount0など)を取得したい。私に何ができるか教えてくれませんか?
c++ - BBL_NUMins < 7 で連続する基本ブロックを数える
私は pintool を初めて使用しBBL_NumINS < 7
、Indirect Jump、Indirect Call、ret などの特定の Tail 命令を使用して、連続する Basic Block の数をカウントしたいと考えています。だから私はこのコードを書いた
出力ファイル
この pintool を firefox に対してテストします。カウンタが 0、2、3 の場合、ピンに基本ブロックが表示されないのはなぜですか?
gcc - ピンツールで実行可能ファイルのデバッグ情報を使用する
変数に実際に必要なビット幅を追跡するピン ツールを作成しています。高レベル (C 変数など) を追跡するために、実行可能ファイルにビルドされたデバッグ情報を使用したいと考えています。
ピン API を使用してデバッグ情報を抽出する方法を見つけることができませんでした。
デバッグ情報を抽出するためにピン API 関数が呼び出される場合はお知らせください。ピンで不可能な場合、代替手段は何ですか?
(例: DynamoRIO)