インテル® VTune™ プロファイラー・ユーザーガイド
インテル® VTune™ プロファイラーは、Windows* システム上で大部分のネイティブバイナリーを解析できます。次の設定は、パフォーマンス解析をより生産的におよび簡単に行うために推奨されています。
使用するスイッチ |
説明 |
---|---|
/Zi (強く推奨) |
アドレスとソースコード行を関連付けて、ユーザーモード・サンプリングとトレース解析 タイプ (ホットスポットとスレッド化) でコールスタックを適切に追跡するには、シンボル情報の生成を有効にする必要があります。 |
リリース ビルド (強く推奨) |
コンパイラーの最適化機能を最大限に有効にして、コンパイラーが最適化できないパフォーマンス上の問題をインテル® VTune™ プロファイラーで特定します。 |
/debug:inline-debug-info (インテル® C++ コンパイラー) |
インテル® VTune™ プロファイラーがインライン展開された関数を特定し、選択されたインラインモードに応じてインライン展開された関数自身、または呼び出し元にインライン展開された関数のシンボルを関連付けることを可能にします。 |
/MD または /MDd |
ユーザーコードから C ランタイム呼び出しをシステム関数として識別するには、適切なコールスタック・モードをインテル® VTune™ プロファイラーの収集結果に適用します。 |
/D "TBB_USE_THREADING_TOOLS" |
インテル® VTune™ プロファイラーによるインテル® スレッディング・ビルディング・ブロック (インテル® TBB) の完全なサポートを有効にします。 TBB_USE_THREADING_TOOLS を設定しないと、インテル® VTune™ プロファイラーはインテル® TBB 構文に関連する並行性の問題を正しく識別できません。 |
/Qopenmp (強く推奨) (インテル® C++ コンパイラー) |
インテル® VTune™ プロファイラーで OpenMP* プラグマによる並列領域を識別します。 |
/Qopenmp-link:dynamic (インテル® C++ コンパイラー) |
インテル® コンパイラーは、インテル® VTune™ プロファイラー向けにインストルメントされた OpenMP* ランタイム・ライブラリーのダイナミック・バージョンを選択できるようにします。通常、このオプションはインテル® コンパイラーがデフォルトで有効にします。 |
/Qparallel-source-info=2 (インテル® C++ コンパイラー) |
OpenMP* または自動並列化コードの生成時にソースの位置情報の出力を有効/無効にします。2 はソース位置の規制レベルを示し、コンパイラーにパス、ファイル、ルーチン名、および行情報を出力するようにコンパイラーに指示します。 |
-gline-tables-only -fdebug-info-for-profiling インテル® oneAPI DPC++ コンパイラー |
DPC++ アプリケーションの GPU 解析向けのデバッグ情報の生成を有効にします。 |
-Xsprofile インテル® oneAPI DPC++ コンパイラー |
FPGA アプリケーション解析のパフォーマンス・データをソースレベルでマッピングできるようにします。 |
次のコンパイラー・オプションは推奨されません。
使用しないオプション |
理由 |
---|---|
debug:parallel |
インテル® コンパイラー向けのインテル® Parallel デバッガー拡張を使用できるようにします。インテル® VTune™ プロファイラーには使用されません。 |
/Qopenmp-link:static |
インテル® コンパイラーの静的バージョンの OpenMP* ランタイム・ライブラリーを選択します。このバージョンの OpenMP* ランタイム・ライブラリーは、インテル® VTune™ プロファイラーの解析で必要なインストルメント・データを含みません。 |
/Qopenmp_stubs |
OpenMP* コードが並列化されないようにします。 |
ユーザーモード・サンプリングとトレース解析タイプで推奨される、または非推奨のライブラリー・リストを確認します。
ライブラリー |
推奨 |
非推奨 |
---|---|---|
OpenMP* ランタイム (インテル® コンパイラーが提供) |
libiomp5md.dll または libguide40.dll |
libiomp5mt.lib、libguide.lib、vcomp80.dll/vcomp90.dll、または vcomp80d.dll/vcomp90d.dll |
C ランタイム |
msvcr90.dll、msvcr80.dll、msvcr90d.dll、または msvcr80d.dll |
libcmt.lib |
最適化に関する注意事項 |
---|
インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3)、ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3) 命令セットに関連する最適化およびその他の最適化が含まれます。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。 注意事項の改訂 #20110804 |