Intel® VTune Amplifier's - Application Performance Snapshot(以下、APS)は、プログラムの簡易解析ツールです。大まかなパフォーマンスを測定し、プログラムのどこがネックになっているのか、どのようなチューニングが効果的なのか、どのようなツールを使えばよいかといった、今後のチューニングの方針、目標を把握することができます。プログラムチューニングの第一歩としてAPSを使用し、その解析結果を元に他のツールを利用してチューニングを行うことが推奨されています。
OCTOPUSでは、Intel® VTune Amplifier's - Application Performance Snapshot 2017, 2018 update2, 2018 update3,2020 が利用可能です。
 

2020のインストールディレクトリは下記になります。

/octfs/apl/Intel/psxece2020/vtune_profiler/

他のバージョンについても"psxece2020"の部分を変更することでご利用いただけます。
 

利用方法

バッチリクエストにより計算ノード上でプログラムの解析を行い、得られた結果をフロントエンド上で閲覧する、という利用方法になります。
APSを利用する際の具体的な手順とジョブスクリプトについて以下で解説します。
 

1.実行ファイルのコンパイル

    APSで解析を行う場合、特別なオプションを指定する必要はありません。通常通りコンパイルを行います。

    % ifort sample.f90

    なお、GNUコンパイラでコンパイルしたプログラムも解析可能です。
     

2.ジョブスクリプトの作成、投入

    以下の例は、OCTOPUS 汎用CPUノードで、APS 2020 を用いたプログラムの解析を行うジョブスクリプト例です。
    スクリプト名に特に指定はありません。
     

    MPI並列実行を行わない場合

     

    MPI並列実行を行う場合

     

    どちらのスクリプトもsourceコマンドでAPSの環境設定ファイルを読み込み、apsコマンドで実行ファイル「a.out」の解析を行っています。
     

    --result-dirオプションは、プログラムの解析結果を格納するディレクトリを指定する記述です。上記の例では、ジョブスクリプトと同じ階層のresultディレクトリ内に結果ファイルが出力されます。自身の環境に合わせ、ご自由に設定してください。
    --collection-mode=オプションは、解析モードを指定するオプションです。下記から選択してください。
     

      解析モード一覧

      hwc CPUやメモリに関する解析
      omp OpenMPに関する解析
      mpi MPIに関する解析
      all 上記のうち解析可能なものを全て行う(デフォルト)

    MPI並列実行を行う場合、a.outの解析後に各プロセスの結果をまとめ、1つのレポートを生成するという作業が必要になります。(9行目)
    "aps --report=[ディレクトリ名]"のディレクトリ名には、8行目で指定した解析結果を格納するディレクトリと同じものを指定してください。
    ジョブスクリプトのその他の行についてはこちらをご参照ください。
     

    作成したジョブスクリプトをqsubコマンドで投入し、計算ノード上でAPSを実行します。

    % qsub aps.sh

     

3.解析結果の確認

    APSの実行が終了すると実行すると、"aps_report_[日付]_[時間].html"という名前のHTML形式のレポートが生成されます。HTMLファイルをお手元の端末にダウンロードしていただき、WEBブラウザ等でご確認ください。以下のような解析結果が表示されます。
    また、標準出力にもテキスト形式でのレポートが出力されますので、そちらでご確認いただくことも可能です。
     


     
     

参考情報

解析結果の各項目の解説など、APSに関する詳細は下記の公式ページをご参照ください。
Application Performance Snapshot User's GuideGetting Started with Application Performance Snapshot