ソースの表示

同カテゴリーの次の記事

結果の比較

この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Viewing Source」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS 環境でも十分ご利用いただけます。また、構成は英語版のヘルプと同じ階層構造にしてあります。


パフォーマンスの問題を良く理解するには、ホットスポットの原因である実際のマシン命令とソースコードを関連付けることが重要です。それには、インテル® VTune™ Amplifier のビューポイントからソース/アセンブリー・コードを直接開きます。

[Source (ソース)]/[Assembly (アセンブリー)] ウィンドウは、次のペインを異なるタブで開きます。

  • [Source (ソース)] ペイン (英語) は、C、C++、もしくは Fortran などの高レベルのプログラミング言語で記述されたコードを表示します。選択された関数のシンボル情報がある場合、[Source] ペインが開きます。
  • [Assembly (アセンブリー)] ペイン (英語) は、逆アセンブルコードを表示します。ここでは、アセンブリー命令がプロセッサーで実行された順番で表示されます。[Assembly] ペインの命令は、基本ブロックごとにグループ化されています。

[Source]/[Assembly] を切り替えるには、[Source] ウィンドウのツールバーにある [Source] と [Assembly] のボタンを使用します。

[Source]/[Assembly] ウィンドウには、コードがデバッグ情報 (英語) 付きでコンパイルされ、デバッグ情報ファイル/シンボルファイルが適切なデバッグ情報を含んでいれば、正確な情報が表示されます。

正しいデバッグ情報がない場合や、シンボルファイルを利用できない場合は、アセンブリー・データは正しくない可能性があります。この場合、インテル® VTune™ Amplifier はヒューリスティックに従ってバイナリーモジュール内の関数境界を定義します。

ペインに表示される内容は関連付けられます。1 つのペインで項目を選択すると、別のペインでもその項目にスクロールしてハイライト表示します。

注:

  • 1 つのソースコード行は、単一のアセンブリー命令または複数のアセンブリー命令で構成されます。
  • 同期は、選択した関数に対応するデバッグ行情報が参照可能な場合にのみ利用できます。

ソースビューの表示

特定のソース/アセンブリー・コードを開くには、[Call Stack (コールスタック)]/[Timeline (タイムライン)] ペインのグリッドビューで選択した項目をダブルクリックするか、コンテキスト・メニューから [View Source (ソースを表示)] オプションを選択します。

  • グリッドで関数をクリックしてソースビューを開いた場合、インテル® VTune™ Amplifier は、その関数の最もホットな ([Data of Interest (注目するデータ)] のメトリック値とともに) 行を [Source]/[Assembly] ペインに表示します。
  • コールスタックをクリックした場合、インテル® VTune™ Amplifier は、コールスタックの最上位の呼び出し (の場所) をハイライトしてソースを開きます。呼び出しは黄色の矢印 で示されます。
  • [Timeline] ペインの wait (待機) をクリックすると、インテル® VTune™ Amplifier は呼び出しをハイライトして待機する関数を開きます。(Lock and Waits (ロックと待機) データの) 遷移をダブルクリックすると、単一の呼び出しをハイライトします。

最もホットなコード行の特定

[Source]/[Assembly] ウィンドウ内のコードを簡単に調査して、最も高いメトリック値 (ホットスポット) をコード行から探すには、次のオプションを使用します。

  • ホットスポット・ナビゲーション・ボタン: 選択した関数のホットスポットとなるコード行を素早く特定し、切り替えるためのボタンです。[Source]/[Assembly] ツールバーにあります。
    項目 説明
    最大のメトリック値を持つ行に移動します。
    (メトリック値が) 前のホットスポット行に移動します。
    (メトリック値が) 次のホットスポット行に移動します。
    最小のメトリック値を持つ行に移動します。

    ホットスポット・ナビゲーションは、注目するデータとして設定されたメトリックのカラムに対してのみ利用できます。例えば、Basic Hotspots (基本ホットスポット) 解析における注目するデータのデフォルトは、CPU 時間です。注目するデータを変更するには、メトリックのカラムを右クリックして、コンテキスト・メニューから [Set As Data of Interest (注目するデータとして設定)] を選択します。注目するデータのメトリックのカラムは、星印のアイコン で示され、黄色にハイライトされます。

  • ヒートマップ・マーカー: (注目するデータのメトリックを基に) ホットスポット行を素早く特定するには、垂直スクロールバーの右にある青色のマーカーを使用します。ホットスポットを表示するには、スクロールバーのスライドをマーカーの位置まで移動します。濃い色のマーカー () は、ドリルダウンした関数のホットスポット行を示します。薄い色のマーカー () は、その他の関数のホットスポット行を示します。背景色は、現在の選択を示します。

  • [Assembly grouping (アセンブリーのグループ化)] メニュー: [Assembly] ペインで上手く利用するには、[Assembly grouping (アセンブリーのグループ化)] ドロップダウン・メニューで [Address (アドレス)][Basic Block/Address (基本ブロック/アドレス)][Function Range/Basic Block/Address (関数範囲/基本ブロック/アドレス)] から粒度を選択します。インテル® VTune™ Amplifier は、選択された階層構造に従って命令を折りたたみ可能なノードにグループ化して [Assembly] ビューを更新します。

    ウィンドウの下にある Loading data メッセージの赤い十字をクリックすると、選択したグループを解除できます。

ソースの編集

ターゲットをチューニングするには、ソースコードの変更が必要です。インテル® VTune™ Amplifier では、[Source]/[Assembly] ウィンドウから直接ソースファイルを開いて変更できます。

ソースエディターを起動するには、次の操作を行います。

  1. [Source] ペインで、変更する行を選択します。
  2. ソース行を右クリックして、コンテキスト・メニューから [Edit Source (ソースの編集)] を選択するか、[Source]/[Assembly] ツールバーにある [Open Source File Editor (ソース・ファイル・エディターを開く)] ボタンをクリックします。

    システムでデフォルトに設定されているコードエディターが開き、ソースコードが表示されます。

コードの編集が完了したら、ターゲットを再ビルドして、変更後のバージョンをインテル® VTune™ Amplifier で再度解析し、最適化の前後のパフォーマンス結果を比較します。

注:

Source/Assembly (ソース/アセンブリー) 解析は、ソースが #line ディレクティブを持つ場合サポートされません。

関連項目

ソースコードの比較 (英語)
アプリケーション・バイナリーのデバッグ情報 (英語)
システム・ライブラリーのデバッグ情報 (英語)
コマンドラインからソース・オブジェクトを表示 (英語)

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事

  • 解析結果の表示 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Viewing Analysis Results」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • バスロックバスロック この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Bus Lock」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • 非効率な同期非効率な同期 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Inefficient Synchronization」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • OS スレッドの移行OS スレッドの移行 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「OS Thread Migration」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • インテル® MIC アーキテクチャー解析のワークフローインテル® MIC アーキテクチャー解析のワークフロー この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Intel® Xeon Phi™ Processor (Code Name: Knights Landing) Analysis Workflow」の日本語参考訳です。Windows* […]