Intel Advisorは、プログラムの解析と性能評価を行うことでベクトル化/スレッド化のプロトタイプを作成し、パフォーマンス向上を支援する、高性能ベクトル化/スレッド化プロトタイプ生成・チューニング支援ツールです。プログラムの実行速度(flops)の測定も行うこともできます。
OCTOPUSでは、Intel®Advisor 2013, 2015, 2017, 2018 update2, 2018 update3 が利用可能です。
2018 update3 のインストールディレクトリは下記になります。
/octfs/apl/Intel/psxece2019u1/advisor
他のバージョンについても"psxece2019u1"の部分を変更することでご利用いただけます。
利用方法
バッチリクエストにより計算ノード上で性能評価を行い、得られた結果をフロントエンド上で閲覧する、という利用方法になります。
Intel Advisor 2018 update3 を利用する際の具体的な手順とジョブスクリプトについて以下で解説します。
1.実行ファイルのコンパイル
-
Intel Advisorで解析を行う場合、プログラムのコンパイル時に"-g"オプションを指定する必要があります。
% ifort sample.f90 -g
なお、GNUコンパイラでコンパイルしたプログラムも解析可能です。
2.ジョブスクリプトの作成、投入
-
以下の例は、OCTOPUS 汎用CPUノードで、Intel®Advisor 2018 update3 を用いたプログラムの解析、性能評価、Flopsの測定を行うジョブスクリプト例です。
スクリプト名に特に指定はありません。
MPI並列実行を行わない場合
1 2 3 4 5 6 7 |
#!/bin/bash #PBS -q OCTOPUS #PBS -l cpunum_job=24,elapstim_req=1:00:00 cd $PBS_O_WORKDIR source /octfs/apl/Intel/psxece2019u1/advisor/advixe-vars.sh advixe-cl -collect survey -project-dir ./result ./a.out advixe-cl -collect tripcounts -flops-and-masks -project-dir ./result ./a.out |
MPI並列実行を行う場合
1 2 3 4 5 6 7 8 9 |
#!/bin/bash #PBS -q OCTOPUS #PBS -l cpunum_job=24,elapstim_req=1:00:00 #PBS -T intmpi #PBS -b 2 cd $PBS_O_WORKDIR source /octfs/apl/Intel/psxece2019u1/advisor/advixe-vars.sh mpirun ${NQSII_MPIOPTS} -np 48 -gtool "advixe-cl -collect survey -project-dir ./result:0" ./a.out mpirun ${NQSII_MPIOPTS} -np 48 -gtool "advixe-cl -collect tripcounts -flops-and-masks -project-dir ./result:0" ./a.out |
どちらのスクリプトもsourceコマンドでIntel Advisorの環境設定ファイルを読み込み、advixe-clコマンドで実行ファイル「a.out」の解析、性能評価を行っています。
-collectオプションは解析モードを指定するオプションです。"survey"を指定すると、プログラムの情報の収集と基本的な解析を行います。上記のように"survey"の実行後、"tripcounts"を指定すると、ループに関するより詳細な解析を行います。その際、"-flops-and-masks"オプションを追加することで、プログラムの実行速度を測定することができます。
-project-dirオプションは、プログラムの解析結果を格納するディレクトリを指定する記述です。この例では、ジョブスクリプトと同じ階層のresultディレクトリ内に結果ファイルが出力されます。MPI並列実行を行う場合、"./result:0"と指定するとrank0のプロセスの解析結果が出力されます。自身の環境に合わせ、出力先や出力するプロセスをご自由に設定してください。
advixe-clコマンドに関するその他オプションや解析モードは、下記の公式ページをご覧ください。
Command Line Interface Reference (User's Guide)
ジョブスクリプトのその他の行についてはこちらをご参照ください。
作成したジョブスクリプトをqsubコマンドで投入し、計算ノード上でIntel Advisorを実行します。
% qsub advisor.sh
3.解析結果の確認
-
ジョブの実行が終了すると、ジョブスクリプトで指定したディレクトリ内に解析結果ファイルが出力されます。
解析結果はCUI、GUIどちらでも閲覧することが可能です。特に理由がない限りは、GUIを用いて閲覧することを推奨します。
CUIでの閲覧方法
-
フロントエンド上で下記コマンドを実行すると、解析結果からテキスト形式のレポートが生成されます。
下記の例ではresultディレクトリ内に"report.txt"という名前のファイルが生成されますので、lessコマンド等で解析結果を確認してください。
% /octfs/apl/Intel/psxece2019u1/advisor/bin64/advixe-cl -report survey -project-dir ./result -format=text -report-output ./result/report.txt
GUIでの閲覧方法
-
GUIでの利用にはXサーバ環境が必要となります。こちらを参考に、あらかじめ起動をお願いいたします。
下記コマンドでGUI版のIntel Advisorを立ち上げます。
% /octfs/apl/Intel/psxece2019u1/advisor/bin64/advixe-gui
GUIが立ち上がったら、上部のメニューから [File] > [Open] > [Result]を選択し、解析結果を出力したディレクトリ内の".advixeexp"という拡張子のファイルを開いてください。
以下のように解析結果が表示されますので、見たい項目にタブを切り替えつつ、結果をご確認ください。
参考情報
コマンドで指定できるオプションの解説や、GUIでの各項目の内容、使い方など、Intel Advisorに関する詳細は下記の公式ページをご参照ください。
Intel® Advisor 2018 Help Getting Started with Intel® Advisor