CrayPat

バージョン システムA システムB システムC
20.03.0 +
7.1.1 +
7.0.6 + (default)
7.0.4 +
7.0.0 +
6.5.2 +
6.5.1 +
6.4.6 +
6.4.3 +
6.4.1 +

+ : 利用可能
― : 利用不可

バージョン moduleファイル名
7.0.6 perftools/7.0.6
7.0.4 perftools/7.0.4
7.0.0 perftools/7.0.0
6.5.2 perftools/6.5.2
6.5.1 perftools/6.5.1
6.4.6 perftools/6.4.6
6.4.3 perftools/6.4.3
6.4.1 perftools/6.4.1

以下のようにmoduleコマンドで,まずperftools-baseをロードしてから,perftoolsをロードしてください.perftoolsの後にスラッシュとバージョンを省略した場合は,上表に記載のデフォルトのバージョンが設定されます.

$ module load perftools-base
$ module load perftools

moduleコマンドの詳細は Modules をご覧ください.

コマンド 説明
pat_build 実行ファイルをCrayPatで利用するPatバイナリに変換します.
pat_report Patバイナリの実行時にできるログファイルからテキスト形式のレポートを作成します.
app2 CrayPatで収集した性能情報をGUIで表示します.
pat_help CrayPatのヘルプを表示します.

オプション名 説明
-O apa トレース内容を自動設定します.
-g tracegroup トレースを行うグループ(mpi,ompなど)を指定します.指定可能なグループについてはオンラインマニュアルをご覧ください.

オプション名 説明
-T 表示対象とする閾値を0に設定し,デフォルトでは表示されない部分も表示します
-o outputfile 出力する内容を指定します.デフォルトではprofile(関数の名前を表示)になっています.指定可能な出力内容はオンラインマニュアルをご覧ください.

CrayPatを使用する場合,オブジェクトファイル(.o)やライブラリファイル(.a)が生成されている必要があります.Fortranソースファイルtest.fから,オブジェクトファイルと実行ファイルを作成する例を示します.

$ ftn -c test.f
$ ftn -o a.out test.o

次に, pat_build コマンドを使用して,a.out をPatバイナリに変換します.デフォルトでは,変換後のPatバイナリとして 実行ファイル名+pat が作成されます.

$ pat_build -O apa ./a.out
$ ls
a.out  a.out+pat  test.f  test.o 

Patバイナリを実行します.実行の方法は通常のプログラムと同じです.詳しくは バッチ処理(システムA) をご覧ください.Patバイナリを実行すると 実行ファイル名+pat+{PID}-{nodeID}s の形式の名前でフォルダが作成され,配下に結果ファイルが出力されます.

$ qsub job.sh
$ ls
a.out  a.out+pat a.out+pat+{PID}-{nodeID}s/  test.f  test.o 

pat_report コマンドを使用して,Patバイナリ実行時に 実行ファイル名+pat+{PID}-{nodeID}s/xf-files/ 配下に保存されたxfファイルからPatレポートを作成します. なお,Apprentice2で表示するためのap2ファイルについては, 実行ファイル名+pat+{PID}-{nodeID}s/ap2-files/{PID}.ap2 に作成されます.

$ pat_report -o {レポート名} 実行ファイル名+pat+{PID}-{nodeID}s/
e.g.) $ pat_report -o sampling.txt a.out+pat+266817-1646s/ 

$ cat sampling.txt
………
CrayPat/X:  Version 7.0.6 Revision 22b69ce  02/11/19 21:00:22
Number of PEs (MPI ranks):    1
Numbers of PEs per Node:      1
Numbers of Threads per PE:    1
Number of Cores per Socket:  68
(以下略)

現在,Cray Apprentice2 6.4.3 以降がExcced onDemandで起動しません (Segmentation Faultとなります).6.4.3 以降を使用される場合は,FastX等をご利用ください.

Exceed onDemand など X(GUI)が利用できる環境では,Cray Apprentice2を使用することで pat_report コマンドで作成された 実行ファイル名+pat+XXXXX-XXXX.ap2 形式のファイルのプロファイリング結果をGUIで確認することができます.

Cray Apprentice2 は app2 コマンドで利用できます.

$ app2 実行ファイル名+pat+{PID}-{nodeID}s/ap2-files/{PID}.ap2
e.g.) $ a.out+pat+266817-1646s/ap2-files/001646.ap2

全国共同利用版広報 Vol.12 No.1 の13ページに解説記事「CrayPatによる性能解析」があります.


Copyright © Academic Center for Computing and Media Studies, Kyoto University, All Rights Reserved.