問題タブ [intel-vtune]

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.

0 投票する
0 に答える
177 参照

cpu-architecture - リタイア指示が増える原因は?

496*O(N^3) ループがあります。一度に 1 つではなく 2 つの画像を操作するブロッキング最適化手法を実行しています。生の用語では、外側のループを展開しています。(コードの展開されていないバージョンは以下のとおりです:) ところで、私は 8 コアの Intel Xeon X5365 マシンを使用しており、クロックは 3 GHz、バス周波数は 1333 MHz、共有 8 MB L2 (2 コアごとに 4 MB が共有) です。 、L1-I 32KB、L1-D 32KB。

Intel Vtune-2013 (gcc-4.1 から作成されたバイナリを使用) を使用して結果をプロファイリングしたところ、反復ごとに 2 つの画像が処理されるため、メモリ帯域幅の使用量が 40% 削減されていることがわかります。ボクセルごとに 8 バイトのトラフィック)。これにより、バス サイクルが 11.7% 削減されます。また、内側のループでブロックサイズが大きくなるため、リソースのストールが 25.5% 減少します。これら 2 つは、応答時間が 18% 短縮されたことを示しています。謎の質問は、なぜ引退した指導者が 7.9% 増加したのかということです。(これにより、応答時間が 6.51% 増加しました) - 考えられる理由は次のとおりです。 1. ブロック内で分岐命令の数が増加するため (コア アーキテクチャには 8 ビットのグローバル履歴があるため)、廃止された分岐命令は 2.5% 増加しました。 ( それでも、誤算は相変わらず!私は知っています、魚のにおいがしますよね?!!)。しかし、残りの 5.4% についてはまだ回答がありません。誰か私に光を当ててください。私は完全に選択肢がなく、考える方法がありません。どうもありがとう!!

0 投票する
2 に答える
1199 参照

c++ - コンパイラで生成されたコードを逆アセンブルする方法は?

命令の再スケジューリング後にコンパイラが生成するのと同じ順序で逆アセンブルされたコードを確認したいと考えています。ところで、私はGDBを使用してdisas /m FunctionNameいます。コマンドを実行すると、ソースコードの順序で逆アセンブルされたコードが表示されます。コンパイラ (GCC 4.1) による命令の再スケジュールの有効性を調べようとしており、命令がどのように再スケジュールされるかを確認したいと考えています。ありがとう!//////////////////編集///////////////////////////// ///////// コード行の逆アセンブル コードを見た後:

83バイトの命令を見ることができました。しかし、2回の反復で展開した後:

コードのブロックは 226 バイトです。また、命令数が大幅に増加しています。なぜこれが起こっているのか誰か教えてもらえますか?VTune からも、展開後にリタイアした命令が増えていることがわかります。私が考えることができる考えられる理由: コンパイラーは、単純な命令を生成するためにブロックサイズを大きくして十分な機会を得て、命令のプリフェッチとデコーダーユニットのスループットを最大化します。

どんな助けでも大歓迎です。ありがとう!!

0 投票する
0 に答える
646 参照

multithreading - 経過時間とCPU時間の大きな違い

VTune ホットスポット分析で、プログラムの実行時間 (経過時間) が 60 秒で、そのうちの 10 秒だけが「CPU 時間」として報告されています。残りの 50 秒が費やされた場所を探しています。Windows プロセス モニターのファイル システム アクティビティを使用すると、プログラムがディスク I/O に 5 秒を費やしていることがわかります。これにより、まだ 45 秒が不明のままです。

私のプログラムには 2 つのスレッドがあり、VTune によると、そのうちの 1 つが CPU 時間の 99% を消費していました。実行プロファイルが与えられた場合、これら 2 つのスレッドが失われた時間をどのように説明できるかわかりません。

何かご意見は?

0 投票する
1 に答える
113 参照

gcc - -g フラグは、プログラムのランタイムとコンパイルを変更します

SSE および AVX SIMD 命令を使用してトップ K フィルタリング アルゴリズムを高速化しようとするプログラムを作成しています。フラグ -o3、-msse3、および -lrt を指定して icc を使用してプログラムをコンパイルしていますが、実行時間は約 30ms です。ただし、最後に -g フラグを付けて vtune または gdb を使用すると、プログラムの実行にかかる時間が ~100ms に跳ね上がります。

誰かがなぜこれが起こっているのか説明できますか? -g がプログラムのコンパイルを変更する理由について、私は非常に混乱しています。

0 投票する
0 に答える
144 参照

intel-vtune - Intel vtune は情報収集に時間がかかる

vtune を使用してプロセスの情報を収集する場合、特定の dll (X.dll としましょう) の結果だけに注目する必要があります。しかし、プロセスの実行が終了し、情報を収集する段階になると、1 つの dll (Y.dll としましょう) が永遠に情報を取得することになります。

X.dll のシンボルしかありません Y.dll の
シンボルはありません

シンボル サーバーの設定に問題がありますか?
Visual Studio 2008 と Win7 32 ビットを使用しています。

0 投票する
1 に答える
892 参照

android - Eclipse を使用して Windows で Android システム用 VTune Amplifier 2014 を実行する

私は VTune Amplifier を初めて使用し、インテル Atom プロセッサーで Android アプリケーションを開発しています。プロファイリングを実行しようとすると、次のエラーが表示されます

Android システム用の Intel Vtune Amplifier 2014 を使用しています。

amplxe: エラー: ハードウェア イベント ベースのサンプリングを有効にできません: ドライバー (sep*/sepdrv*) に問題があります。ドライバーが実行中であり、ドライバー グループが現在のユーザー グループ リストにあることを確認します。詳細については、「サンプリング ドライバーのビルドと管理」ヘルプ トピックを参照してください。

このリンクhttps://software.intel.com/en-us/forums/topic/372533#comment-1791207 およびこのスレッドの「Peter Wang (Intel)」コメントに記載されている手順に従ってみました。

Windows で Eclipse を使用して VTune Amplifier を実行しています。

リンクで提供されているスレッドからドライバーを再インストールすることについて、Wang 氏による以前のコメントを中断することができませんでした。

誰かが問題を解決するために詳しく教えてください。

注: 私はどちらかというと Windows 派なので、Windows に適した手順は非常に役立ちます。

この問題の解決にご協力いただきありがとうございます。

0 投票する
1 に答える
102 参照

c++ - C++ アプリケーションで高いストレージ アクティビティをシミュレートする方法

大規模なマルチスレッド C++ アプリケーションで、ストレージ I/O へのアクセスによって妨げられる可能性がある問題を特定するのに役立つ方法は何ですか?

アプリケーションを分析して、特定の実行で特定のスローダウンを見つけることはできますが、遅い I/O をシミュレートして特定の問題領域を特定することはできないようです。

主要なシステム コンポーネント (CPU、メモリ、および I/O) のいずれかが調整されると、パフォーマンスが異なる可能性があります。この依存コンポーネントのセットが異なる場合の実行の違いを確認すると役立つと思います。

私は VTune などのツールの実行に精通しています。このアナライザー内でこれを実行できる場所があれば知りたいのですが、他のツールを使用することもできます。

0 投票する
1 に答える
143 参照

c - vtune によって表示される時間の使用率が低いが、問題は不明

Intel Vtune を使用したパケット処理アプリケーションの分析。

この命令だけでは時間の使用率が低い

1 回の if チェックでの時間の使用率が低い

この some_value は uint16_t であり、(int*)&some_value として渡され、(uint8_t*)some_value としてさらにアクセスされます。

以下にマップします

変数をスタックにプッシュする関数での時間の使用率が低く、他の関数が同じ変数をプッシュして時間がかかりません

メモリアクセス解析、分岐予測ミス解析などで同じ問題が発生する。この問題を解決する方法がわからない

0 投票する
1 に答える
395 参照

java - 、Vtune アンプ エラー

現在、Linux システムで VTune アナライザーを使用して Java コードのプロファイリングを行っています。

実行中のプロセスに添付してレポートを生成しました。

ただし、トップダウン ツリーでは、通常、一定の時間がかかった [既知のモジュールの外側] が表示されます。

クリックしても何も見えませんでした。

奇妙なことに、適切なトップダウン レポートを生成できる場合があります。

vtune が適切なレポートを生成できる場合、トレース ファイルは通常約 500MB です。

一方、生成できない場合、トレースファイルはわずか 5MB 程度です。

「コードオンザフライ」が原因であるという意見がたくさんあります。

そのため、jdk で JIT オプションをオフにしてから、この手順を試しました。

もちろん、ルートの下で実行しました。

しかし、うまくいきません。

私のUbutuのバージョンは14.04.1 LTSです

私を助けてください!!

あらゆる種類のありそうなアイデアが役立つ場合があります

ありがとう