Intel®VTune Amplifier(以下、VTune)は、初歩的なチューニングから高度な最適化までサポートするパフォーマンス・プロファイラーです。CPUとGPUパフォーマンス、スレッドのパフォーマンスとスケーラビリティー、バンド幅、キャッシュ利用など、プログラムチューニングのための豊富な情報を収集し、最適化に必要な情報を可視化して提示します。
OCTOPUSでは、Intel®VTune Amplifier 2013, 2015, 2017, 2018 update2, 2018 update3 が利用可能です。
2018 update3 のインストールディレクトリは下記になります。
/octfs/apl/Intel/psxece2019u1/vtune_amplifier
他のバージョンについても"psxece2019u1"の部分を変更することでご利用いただけます。
また、VTuneにはApplication Performance Snapshotという機能が備わっています。プログラムを簡易的に解析し、チューニングの方針や目標を提示する機能です。プログラムチューニングの第1歩としてまずはAPSを利用し、自身のプログラムの状態を把握することをオススメします。具体的な利用方法は下記の個別ページをご覧ください。
Application Performance Snapshotの利用方法(OCTOPUS)
利用方法
バッチリクエストにより計算ノード上でプログラムの解析を行い、得られた結果をフロントエンド上で閲覧する、という利用方法になります。
Vtuneを利用する際の具体的な手順とジョブスクリプトについて以下で解説します。
1.実行ファイルのコンパイル
-
VTuneで解析を行う場合、プログラムのコンパイル時に"-g"オプションを指定する必要があります。
% ifort sample.f90 -g
なお、GNUコンパイラでコンパイルしたプログラムも解析可能です。
2.ジョブスクリプトの作成、投入
-
以下の例は、OCTOPUS 汎用CPUノードで VTune 2018 update3 を用いたプログラムの解析を行うジョブスクリプトです。
スクリプト名に特に指定はありません。
MPI並列実行を行わない場合
1 2 3 4 5 6 |
#!/bin/bash #PBS -q OCTOPUS #PBS -l cpunum_job=24,elapstim_req=1:00:00 cd $PBS_O_WORKDIR source /octfs/apl/Intel/psxece2019u1/vtune_amplifier/amplxe-vars.sh amplxe-cl -collect hotspots -result-dir ./result -- ./a.out |
MPI並列実行を行う場合
1 2 3 4 5 6 7 8 |
#!/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/vtune_amplifier/amplxe-vars.sh mpirun ${NQSII_MPIOPTS} -np 48 -gtool "amplxe-cl -collect hotspots -result-dir ./result:0" ./a.out |
どちらのスクリプトもsourceコマンドでVTuneの環境設定ファイルを読み込み、amplxe-clコマンドで実行ファイル「a.out」の解析を行っています。
-collectオプションは、解析タイプを指定するオプションです。上記のように"hotspots"を指定すると、プログラム中で実行時間の多くを占め、最適化することで大きな効果を得られると考えられる箇所(ホットスポット)を探索します。
-result-dirオプションは、プログラムの解析結果を格納するディレクトリを指定する記述です。上記の例では、ジョブスクリプトと同じ階層のresultディレクトリ内に結果ファイルが出力されます。MPI並列実行を行う場合、"./result:0"と指定するとrank0のプロセスの解析結果が出力されます。自身の環境に合わせ、出力先や出力するプロセスのrankをご自由に設定してください。
その他、オプションや解析タイプについての詳細な解説は、下記の公式ページをご覧ください。
Running Command Line Analysis (User Guide)
ジョブスクリプトのその他の行についてはこちらをご参照ください。
作成したジョブスクリプトをqsubコマンドで投入し、計算ノード上でVTuneを実行します。
% qsub vtune.sh
3.解析結果の確認
-
ジョブの実行が終了すると、ジョブスクリプトで指定したディレクトリ内に解析結果ファイルが出力されます。
解析結果はCUI、GUIどちらでも閲覧することが可能です。特に理由がない限りは、GUIを用いて閲覧することを推奨します。
CUIでの閲覧方法
-
フロントエンド上で下記コマンドを実行すると、調査結果からテキスト形式のレポートが生成されます。
% /octfs/apl/Intel/psxece2019u1/vtune_amplifier/bin64/amplxe-cl -report hotspots -result-dir ./result -report-output=report.txt
-reportオプションは、解析結果からテキスト形式のレポートを生成するためのオプションです。ジョブスクリプトで指定したものと同じ解析タイプを指定してください。
-result-dirオプションは解析結果が格納されているディレクトリを指定するオプションです。こちらもジョブスクリプトで指定したものと同じディレクトリを指定してください。
-report-outputオプションは生成されるレポートのファイル名を指定するオプションです。上記の場合、"report.txt"というレポートが生成されます。
生成されたレポートをlessコマンド等で確認してください。
その他、レポートの生成に関するに関するオプションや詳細な解説は、下記の公式ページをご覧ください。
Generating Command Line Reports (User Guide)
GUIでの閲覧方法
-
GUIでの利用にはXサーバ環境が必要となります。こちらを参考に、あらかじめ起動をお願いいたします。
下記コマンドでGUI版のVTuneを立ち上げます。
% /octfs/apl/Intel/psxece2019u1/vtune_amplifier/bin64/amplxe-gui
GUIが立ち上がったら、上部のメニューから [Open Result] を選択し、解析結果を出力したディレクトリ内の".amplxe"という拡張子のファイルを開いてください。
以下のように解析結果が表示されますので、見たい項目にタブを切り替えつつ、結果をご確認ください。
参考情報
コマンドで指定できるオプションの解説や、GUIでの各項目の内容、使い方など、VTuneに関する詳細は下記の公式ページをご参照ください。
Intel® VTune Amplifier 2018 User's Guide Getting Started with Intel® VTune Amplifier