Allinea MAP/DDT

バージョン システムA システムB システムC
21.0 (default) + + +
20.0.2 + + +
19.1.3 + + +
19.0.3 + + +
18.0.1 + + +
7.0 + + +

+ : すべてのユーザが利用可能
AU : 学術研究機関限定で利用可能
KU : 京都大学構成員限定で利用可能
― : 利用不可

Modulesソフトウェアパッケージは,アプリケーションの利用に必要な環境設定をmoduleコマンドを実行することで,動的に切り替えて設定することができます.また,異なるバージョンのアプリケーションを切り替えて利用する際に,簡単に環境設定を変更することができます.詳細は Modules をご覧ください.

バージョン モジュールファイル名
21.0 allinea_forge/21.0
20.0.2 allinea_forge/20.0.2
19.1.3 allinea_forge/19.1.3
19.0.3 allinea_forge/19.0.3
18.0.1 allinea_forge/18.0.1
7.0 allinea_forge/7.0

module avail コマンドにて,利用できるモジュールファイル一覧が確認できます.

Allinea MAP/DDTは,GUIベースの強力なプロファイラ/デバッガで,様々なコンパイラ環境に対応しています. MAPがプロファイラ,DDTがデバッガとなっています.

MAP

  • 並列アプリケーション対応
  • パフォーマンスのボトルネックをソースの行レベルで表示
  • 視覚的表現によるボトルネックの直観的な把握

DDT

  • 並列アプリケーション対応
  • メモリデバッグ
  • リバースデバッグ
  • 視覚的表現による効率的なデバッグ(プログラム,変数,MPIプロセス間通信)

moduleコマンドを実行し,環境設定を行います.(利用したいバージョンのmoduleファイルをロードします).

$ module load allinea_forge

その後、下記のコマンドで,MAPライブラリのモジュールをロードします.

module load map-link-static

解析対象のプログラムをダイナミックリンクでコンパイルしている場合は,上記の代わりに下記のモジュールをロードします.

module load map-link-dynamic

上記いずれかのモジュールをロードすると,ホームディレクトリに.map-libsが作成されます.

対象のプログラムをデバッグオプション付でコンパイルします. 必ず,モジュールのロードを行った後で実施してください.

例 ソースプログラムtest.cをインテル環境でコンパイル

cc -qopenmp test.c -g -O3

  • 設定画面の起動

Exceed onDemand で,次のコマンドを実行するとMAPの設定画面が起動します. xrun コマンドの詳細は 会話型処理 をご覧ください.

xrun [job submit options] -map  [option][filename [corefile]] [ -a [args]]

※mapの前にハイフンが必要です

コマンド例:a.outの2プロセス2スレッド並列動作を解析

xrun -A p=2:t=2:c=2 -map ./a.out
  • プログラムの解析

設定画面には,MAP起動時に-Aオプションで指定した並列数に関する設定が既に行われています. その他,必要に応じて設定を行い[Run]をクリックすると,下記の画面が表示され,プログラムの実行が始まります.

MAP内でのプログラムの実行は,プログラムの終了まで続きます. 途中で止める場合は「Stop and Analyze」を押してください. プログラムが終了するか,途中で止まると,解析が始まり,下記の解析結果の画面が表示されます.

MAPをコマンドラインから利用する場合は,--profileオプションをつけて実行します.-npオプションで,デバッグするプログラムのプロセス並列数を指定できます.他のオプションはメーカーマニュアルを参照ください.

例:tssrunで実行

tssrun -map --profile -np 4 ./a.out

例:ジョブスクリプトで実行

  • ジョブスクリプトの中身
# sample.sh
#!/bin/bash

#QSUB -q gr19999a
#QSUB -ug gr19999
#QSUB -A p=4:t=1:c=1:m=1G
#QSUB -j oe

map --profile -np 4 aprun -n $QSUB_PROCS -d $QSUB_THREADS -N $QSUB_PPN ./a.out
  • ジョブスクリプトの投入コマンド
qsub sample.sh

moduleコマンドを実行し,環境設定を行います.(利用したいバージョンのmoduleファイルをロードします).

$ module load allinea_forge

対象のプログラムをデバッグオプション付でコンパイルします.

例 ソースプログラムtest.cをgccでコンパイル

mpicc test.c -o -g -O3

  • ウェルカム画面の起動

Exceed onDemand で,次のコマンドを実行するとMAP/DDTのウェルカム画面が起動します. xrun コマンドの詳細は 会話型処理 をご覧ください.

xrun -map  [option][filename [corefile]] [ -a [args]]

コマンド例:

xrun -map ./a.out

  • プログラムの解析

ウェルカム画面で「Allinea MAP」->「Profile」を選択すると,プロファイラの設定ダイアログが開きます.

Application の項目に,デバッグしたいプログラム名をフルパスで入力します.

MPIプログラムのデバックを行う場合は,「MPI」および「OpenMP」の欄で,対象のプログラムの並列数を設定します.

必要な設定を行い[Run]をクリックすると,下記の画面が表示され,プログラムの実行が始まります.

MAP内でのプログラムの実行は,プログラムの終了まで続きます. 途中で止める場合は「Stop and Analyze」を押してください. プログラムが終了するか,途中で止まると,解析が始まり,下記の解析結果の画面が表示されます.

MAPをコマンドラインから利用する場合は,--profileオプションをつけて実行します.-npオプションで,デバッグするプログラムのプロセス並列数を指定できます.他のオプションはメーカーマニュアルを参照ください.

例:tssrunで実行

tssrun -map --profile -np 4 ./a.out

例:ジョブスクリプトで実行

  • ジョブスクリプトの中身
# sample.sh
#!/bin/bash

#QSUB -q gr19999b
#QSUB -ug gr19999
#QSUB -A p=4:t=1:c=1:m=1G
#QSUB -j oe

map -np 4 --profile ./a.out  
  • ジョブスクリプトの投入コマンド
qsub sample.sh

対象のプログラムをデバッグオプション付でコンパイルします.

例 ソースプログラムtest.cをインテル環境でコンパイル

cc -qopenmp test.c -o -g -O3

moduleコマンドを実行し,環境設定を行います.(利用したいバージョンのmoduleファイルをロードします).

$ module load allinea_forge

  • 設定画面の起動

Exceed onDemand で,次のコマンドを実行するとDDTの設定画面が起動します. xrun コマンドの詳細は 会話型処理 をご覧ください.

xrun [qsub submit options] -ddt  [option][filename [corefile]] [ -a [args]]

※ddtの前にハイフンが必要です

コマンド例:a.outの4プロセス並列動作時のデバッグを行う

xrun -A p=4:t=1:c=1 -ddt ./a.out
  • プログラムのデバッグ

設定画面には,DDT起動時に指定した並列数に関する設定が既に行われています. その他必要に応じて設定を行い[Run]をクリックすると,下記の画面が表示され,プログラムのデバッグが行えます.

moduleコマンドを実行し,環境設定を行います.(利用したいバージョンのmoduleファイルをロードします).

$ module load allinea_forge

対象のプログラムをデバッグオプション付でコンパイルします.

例 ソースプログラムtest.cをgccでコンパイル

mpicc test.c -o -g -O3

  • ウェルカム画面の起動

Exceed onDemand で,次のコマンドを実行するとMAP/DDTのウェルカム画面が起動します. xrun コマンドの詳細は 会話型処理 をご覧ください.

xrun -ddt  [option][filename [corefile]] [ -a [args]]

コマンド例:

xrun -ddt ./a.out

  • プログラムのデバッグ

ウェルカム画面で「Allinea DDT」->「Run」を選択すると,デバッガの設定ダイアログが開きます.

Application の項目に,デバッグしたいプログラム名をフルパスで入力します.

MPIプログラムのデバックを行う場合は,「MPI」および「OpenMP」の欄で,対象のプログラムの並列数を設定します.

必要な設定を行い[Run]をクリックすると,下記の画面が表示され,プログラムのデバッグが行えます.

Allinea Forge User guide

Arm Forge


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