OCTOPUSでは、下記のデバッガ・プロファイラ・ツールをご利用いただけます。
 

  • GNU Debugger(GDB)
  • gprof
  • Intel Parallel Studio XE ツール群
  • NVIDIA profiler
  •  

    【TIPS】デバッガ、プロファイラとは

    デバッガとは、プログラム上のバグ(不具合)を検出する作業を支援するソフトウェアです。
    プログラムの実行を中断する「ブレークポイント」機能、一段階ずつ実行する「ステップ実行」機能、実行中のメモリやレジスタ、変数などの状態を見る「トレース」機能などが搭載されています。
     

    プロファイラとは、プログラムの性能解析を行うツールです。サブルーチンの実行時間や呼び出し回数を計測し、プログラム上の無駄な処理の検出をするために使用します。


     

    GNU Debugger(GDB)

      利用方法

      起動コマンド

      起動コマンド例

      % gdb-ia

     

    gprof

    プロファイラ「gprof」を使用することで、サブルーチン毎の実行時間や呼び出し回数を計測することが可能です。
     

      利用方法

      1.コンパイル時のオプション指定

      コンパイル時に-pgオプションを指定し、デバッグ情報を生成してください。

      % ifort -pg test.f90
      % icc -pg test.c

       

      2.プログラムの実行

      通常の方法でプログラムを実行してください。
      生成された実行ファイルを実行すると、「gmon.out」が生成されます。
       

      3.プロファイラの起動コマンド

      プロファイラを下記のコマンドで起動します。
      ※ここで指定する実行ファイルは「gmon.out」ではなく、手順1でコンパイルして生成した実行ファイルです。特に指定しなければ「a.out」という名前で生成されます。

      % gprof (実行ファイル名)

      実行したサブルーチンの一覧と関数の呼び出し回数が表示されます。
      下記は表示例です。

      Each sample counts as 0.01 seconds.
       %   cumulative  self       self   total
       time  seconds  seconds  calls ms/call ms/call name
       91.26   0.94   0.94     4  235.00  235.00 AAA_
       8.74   1.03   0.09                  BBB_
       0.00   1.03   0.00     1   0.00  940.01 CCC_

      表示されている項目は下記の通りです。

      % time 実行時間(全実行時間に対する関数当たりのパーセンテージ)
      cumulative seconds  その関数より上位に示されている関数との累積実行時間(秒)
      self seconds     関数あたりの総実行時間(秒)
      calls   関数の実行された回数
      self ms/call 1回の関数実行にかかる時間(ミリ秒)
      total ms/call 1回の関数実行にかかる時間の合計(ミリ秒)
      name 関数名

       

    Intel Parallel Studio XE ツール

      OCTOPUSでは、Intel Parallel Studio XE 2013, 2015, 2017, 2018 update2, 2018 update3 が利用可能です。
      以下のツールを提供しております。
        ・Intel VTune Amplifier
        ・Intel Advisor
        ・Intel Inspector
        ・Intel Trace Analyzer & Collector

       

      Intel Parallel Studioについては下記の公式ページをご覧くださいませ。
      Intel Parallel Studio XE (エクセルソフトHP)
       

      Intel VTune Amplifier

        プログラムの初歩的なチューニングから高度な最適化までサポートするパフォーマンス・プロファイラーです。
        具体的な利用方法は下記ページをご覧ください。
        Intel®VTune Amplifier の利用方法(OCTOPUS)
         

        また、VTune AmplifierはApplication Performance Snapshotという機能を持っています。プログラムを簡易的に解析し、今後のチューニングの方針、目標を提示する機能です。プログラムチューニングの第1歩として利用することをオススメします。
        具体的な利用方法は下記ページをご覧ください。
        Application Performance Snapshotの利用方法(OCTOPUS)
         

      Intel Advisor

        ベクトル化、スレッド化などのフォーマンス向上を支援する、高性能ベクトル化/スレッド化プロトタイプ生成・チューニング支援ツールです。
        具体的な利用方法は下記ページをご覧ください。
        Intel®Advisorの利用方法(OCTOPUS)
         

      Intel Inspector

        プログラム開発者向けのメモリー/スレッド化エラー検出ツールです。
        具体的な利用方法は下記ページをご覧ください。
        Intel®Inspectorの利用方法(OCTOPUS)
         

      Intel Trace Analyzer & Collector

    NVIDIA profiler

      NVIDIAが提供しているプロファイラです。GPUに関する解析に特化しています。
      利用方法は下記のページをご覧ください。
      NVIDIA profiler の利用方法(OCTOPUS)