インテル® VTune™ プロファイラー
2016.03.10
|
高度なパフォーマンス・プロファイラー
- ソフトウェアを高速化 – 精度の高いデータを低オーバーヘッドで取得
- 素早く結果を確認可能 – 簡単な手順で詳細なプロファイル情報を収集
- ローカル/リモートでデータ収集 – CPU、GPU、バンド幅、スレッド化
|
関連記事
リソース
FAQ
すべて開く
すべて閉じる
よくある問い合わせ
-
“Basic Hotspots” と “Andvanced Hotspots” の違いはなんですか?
-
Basic Hotspots (“Hotspots (ホットスポット)” とも呼ばれる)
- ソフトウェアによる収集を行う
- ドライバーは不要
- インテル® プロセッサーと互換プロセッサーで動作
- ~10 ミリ秒の解像度
- 呼出しシーケンスを表示するためコールスタックを収集
- 仮想環境に対応
-
Advanced Hotspots
- ハードウェア収集とオンチップのパフォーマンス・モニタリング・ユニット (PMU) を使用する
- インストール時に管理者権限が必要なソフトウェアにドライバーが含まれます。
- インテル® プロセッサーのみで動作
- ~1 ミリ秒の解像度 (小さな関数を検知)
- コールスタック収集はオプション
- VM ベンダー (VMware*、vSphere* 5.1 など) によってサポートされる仮想環境でのみ動作
-
インテル製ではない互換プロセッサーを搭載するシステムにインテル® VTune™ プロファイラーをインストールして使用することはできますか?
はい。IA32 およびインテル® 64 命令セットで構成されるアプリケーションを解析する場合、インテル® プロセッサーと互換プロセッサーを搭載するシステムでインテル® VTune™ プロファイラーを利用することができます。
ソフトウェア収集を使用するプロファイル機能 (“Basic Hotspots” と “Locks & Waits”) は、インテル® プロセッサーと互換プロセッサーで利用できます。
ハードウェア収集とオンチップのパフォーマンス・モニタリング・ユニットを使用するプロファイル機能 (“Advanced Hotspots” と “Microarchitecture Analysis” など) は、データ収集を行うにはインテル純正プロセッサーが必要です。データ収集後の結果の解析は互換プロセッサー上でも行えます。
-
再コンパイルする必要はありますか?
いいえ、インテル® VTune™ プロファイラーでプロファイルを行う限り再コンパイルの必要はありません。しかし、プロファイル結果を完全かつ有効に活用するため、最適化されたアプリケーションにデバッグおよびシンボル情報を生成しておくことを推奨します。これには、最適化されたリリースビルドの手順でシンボルを生成するオプションを追加するだけで対応できます。
-
インテル® VTune™ プロファイラーを利用するにはインテル® コンパイラーを使用する必要がありますか?
いいえ、解析するアプリケーションのビルドは、インテル® コンパイラーである必要はありません。しかし、OpenMP* を使用している場合、最良の結果を取得するにはインテル® コンパイラーで提供されるランタイムを使用することを推奨します。
-
リモートシステム上でパフォーマンス解析を実行できますか?
-
リモートデータ収集を行うには、複数の製品ライセンスが必要ですか?
いいえ、すでに製品をお持ちであれば、CLI インストーラー (コマンドライン・インストーラー) は、同種の OS のリモートシステム上でのコレクターのインストールが許可されます。
リモートシステムでデータの収集はできますが、結果を表示するにはライセンスが必要です。リモートシステムから収集結果をライセンスがインストールされているシステムへコピーして、結果を解析します。詳細は、ドキュメントにある「Remore Tuning Workflow」を参照してください。インストールに関する詳細は、リリースノートの「Installing Collectors on Remote Systems」をご覧ください。
-
ソースコードを表示できないのはなぜですか?
インテル® VTune™ プロファイラーが解析結果とともにソースコードを表示できないのには、いくつかの原因が考えられます。
解析結果とともにソースコードを表示するには、デバッグ情報を利用できるようにコンパイルする必要があります。たとえば、 Linux* では、”-g” コンパイラー・オプションが指定されていることを確認してください。
また、インテル® VTune™ プロファイラーにソースファイル、バイナリーファイル、そしてシンボル情報ファイルが格納されている場所を知らせなければいけません。これには、プロジェクトを開くか生成して、[Project Properties] ボタンをクリックしてください。プロジェクト・プロパティーのダイアログで、[Search Directories] タブをクリックします。プルダウンメニューから、[All files] をクリックして、ファイルが格納されているディレクトリーを指定します。サブディレクトリーがある場合は、[Search subdirectories] ボックスをチェックすることを忘れないでください。
-
“Advanced Hotspots” や “Advanced Analysis” を使用してハードウェア収集を行う場合、root 権限が必要ですか?
いいえ、Linux* では、ハードウェア・コレクターのドライバーをインストール時には root 権限が必要ですが、インストールが完了すると root 権限は必要ありません。事前インストールされたパフォーマンス・ドライバーを使用することもできますが、すべての機能がサポートされる訳ではありません。
しかし、Linux* ではインストール時のオプションの選択に注意が必要です。ハードウェア・コレクターを使用する利用者のアカウントが、ドライバー・アクセス・グループ (デフォルトでは “vtune”) のメンバーに追加されていなければいけません。ハードウェア・コレクターは、”Advanced Hotspots” と高度な解析で使用されます。詳細については、ドキュメントの「Installing the Sampling Driver」をご覧ください。
-
インテル® VTune™ プロファイラーを使用するには、どのファイルとディレクトリーにアクセスする権限が必要ですか?
ハードウェアベース (“Advanced”) サンプリング解析では、プロセッサーのパフォーマンス・モニタリング・ユニット (PMU) と通信する必要があるため、インストーラーはデバイスドライバーをインストールします。
Windows* では、管理者もしくは管理者グループに属するユーザーがインストールを行う必要があります。Linux* では、インストールは root か、sudo で行う必要がります。Linux* では、デバイスドライバーをインストールせずに、ユーザーモードのソフトウェア取集による解析を行うことができます: “Basic Hotspots”、”Concurrency” そして “Locks-and-Waits” 事前インストールされたパフォーマンス・ドライバーを使用することもできますが、すべての機能がサポートされるわけではありません。ユーザーは root でソフトウェアをイストールすることができますが、その場合、ハードウェア・ベースのサンプリングを行うユーザーは (インストール時のオプション選択に依存)、インストール時に定義されたグループに属していなければなりません。デフォルトでは、グループは “vtune” です。これは、インストール時に高度なオプション “Advanced option” を選択することで変更できます。
-
結果をインポートできないのはなぜですか?
インテル® VTune™ プロファイラーに結果をインポートするには、最初にインポートされた結果を含むプロジェクトを生成しなければいけません。インテル® VTune™ プロファイラーを起動して、[File] > [New] > [Project] メニューをクリックします。プロジェクト名を設定するダイアログが開きます。名前を入力し、[OK] をクリックします。インテル® VTune™ プロファイラーは、[Project Properties] ダイアログを表示します。
プロジェクトに結果をインポートするだけであれば、アプリケーション名を指定する必要はありません。インポートした結果のソースコードを表示する場合、ソースとバイナリーがある位置の検索ディレクトリーを指定する必要があります。プロジェクト・プロパティーのダイアログで、[Search Directories] タブをクリックします。プルダウンメニューから、[All files] をクリックして、ファイルが格納されているディレクトリーを指定します。サブディレクトリーがある場合は、[Search subdirectories] ボックスをチェックすることを忘れないでください。
-
検索ディレクトリーのパスを追加しましたが、何も変わりません。
ディレクトリー検索は、通常データ収集が終了した最終フェーズで行われます。新しい、[Search directory] パスを有効にするには、インテル® VTune™ プロファイラーは、新しい情報を使用して再解決する必要があります。[Analysis Type] タブをクリックして、[Start] と [Project Properties] ボタンの下にある、右側の [Re-resolve] ボタンをクリックしてください。
-
サンプリング数が正しくないように見えるのはなぜですか?
状況によっては、サンプルカウントは通常実行コードに関連付けられていないソースライン上に表示されることがあります。
例えば、”for” や “while” ループの閉じ波括弧など。これはエラーのように見えますが、コンパイラーによって生成された命令である場合があります。アセンブリーコードを表示すると、アセンブリー命令のデバッグ情報がどのサンプルに起因するか明らかにすることができ、ソース行にタグ付けできます。アセンブリー命令に表示される “Other times (そのほかの時間)” は、命令で収集された可能性のあるハードウェア・イベント (分岐命令で生じたメモリーイベントやメモリー命令で生じた演算イベンチ) を示します。これは、”イベント・スキッド (event skid)” として知られ、プロセッサーが命令ポインターをサンプリングする前に、いくつかのマイクロオペレーションの実行を停止できなかったことに起因します。これにより、IP (命令ポインター) は、サンプリングされた時点で次の命令を指しています。通常、命令の流れを調べることによって、命令がイベントに一致するか決定できます。
-
インテル® VTune™ プロファイラーを使用して、ディスク I/O に費やされている時間を調査できますか?
アプリケーションが、ブロッキング I/O を行っている場合、ファイル・アクセサリーに起因する関数呼び出しは、”Basic Hotspots” 解析で表示されます。また、複数のスレッドが 1 つのファイルのアクセスを待機する場合、同期オブジェクトがファイルを保護し、クリティカル・セクションは、”Locks and Waits” に表示されるはずです。
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。