Intel®Trace Analyzer & Collector(以下、ITAC)は、MPIアプリケーション向けパフォーマンス分析、チューニングツールです。MPIプロセスの対話処理やノードとトポロジーのグループなどを調査してプログラムの動作・通信を視覚化し、チューニングを支援します。
 
本ツールのインストールディレクトリは下記になります。

/octfs/apl/Intel/psxece2020/itac

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

利用方法

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

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

    コンパイルでは特別なオプションは必要ありません。通常通りコンパイルしてください。
    なお、MPIアプリケーションの調査を目的としたツールですので、MPI並列実行を行うプログラムを対象としてください。

    % mpiifort sample.f90

    ※OpenMPIでコンパイルしたプログラムも調査可能ですが、正式にはサポートされていません。
     

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

    以下の例は、ITAC 2020 を用いたMPI通信の分析を行うジョブスクリプト例です。
    OCTOPUS 汎用CPUノードで、48プロセス(2ノード使用、ノード当たり24プロセス)のMPI並列実行を行います。
    スクリプト名に特に指定はありません。
     

     

    sourceコマンドでITACの環境設定ファイルを読み込み、mpirunコマンドに"-trace"オプションを指定して実行することで、MPI通信に関する情報を収集します。
    ジョブスクリプトのその他の行についてはこちらをご参照ください。
     

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

    % qsub traceanalyzer.sh

     

3.解析結果の確認

    ジョブの実行が終了すると、"実行ファイル名.stf"という名前の結果ファイルが生成されます。
    分析結果はCUI、GUIどちらでも閲覧することが可能です。特に理由がない限りは、GUIを用いて閲覧することを推奨します。
     

    CUIでの閲覧方法

      フロントエンド上で下記コマンドを実行すると、調査結果からテキスト形式のレポートが生成されます。

      % /octfs/apl/Intel/psxece2020/itac/2020.0.015/bin/traceanalyzer --cli -o report.txt --messageprofile a.out.stf

      --cliオプションは、CUIで閲覧することを指定するオプションです。CUIで閲覧する場合必須になります。
      -oオプションはレポートのファイル名を指定するオプションです。上記の場合、"report.txt"というレポートが生成されます。
      この2つに加えて様々なオプションを付け加えることで、レポートに出力する項目を設定します。例えば上記の--messageprofileオプションは、MPI通信の回数やその合計時間、1回の通信で要した時間の最大値などをMPIプロセスごとに出力するよう設定するオプションです。これ以外にも様々な項目が設定できますので、下記ページをご覧の上、調べたい項目に合わせてオプションを指定してください。
      Command Line Interface (ITAC User Guide)
       

    GUIでの閲覧方法

      GUIでの利用にはXサーバ環境が必要となります。こちらを参考に、あらかじめ起動をお願いいたします。
      下記コマンドでGUI版のITACを立ち上げます。引数としてstfファイルを渡すことで、そのまま調査結果を表示することが可能です。

      % /octfs/apl/Intel/psxece2020/itac/2020.0.015/bin/traceanalyzer a.out.stf

      以下のような調査結果が表示されます。
       



       
       

参考情報

コマンドで指定できるオプションの解説や、GUIでの各項目の内容、使い方など、ITACに関する詳細は下記の公式ページをご参照ください。
Intel®Trace Analyzer & Collector User GuideGetting Started with Intel® Trace Analyzer and Collector