インテル® VTune™ プロファイラー・ユーザーガイド

Windows* ターゲット上のパフォーマンス解析向けのコンパイラー・オプション

インテル® 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.liblibguide.libvcomp80.dll/vcomp90.dll、または vcomp80d.dll/vcomp90d.dll

C ランタイム

msvcr90.dllmsvcr80.dllmsvcr90d.dll、または msvcr80d.dll

libcmt.lib

最適化に関する注意事項

インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2 (インテル® SSE2)、インテル® ストリーミング SIMD 拡張命令 3 (インテル® SSE3)、ストリーミング SIMD 拡張命令 3 補足命令 (SSSE3) 命令セットに関連する最適化およびその他の最適化が含まれます。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。

注意事項の改訂 #20110804

関連情報