Linaro Forgeは,GUIベースの強力なデバッガ/プロファイラで,様々なコンパイラ環境に対応しています. DDTがデバッガ,MAPがプロファイラとなっています.
DDT
MAP
バージョン | モジュールファイル名 | システムA | システムB/C | システムG/クラウド |
---|---|---|---|---|
24.0 (default) | linaro_forge/24.0 | KU | KU | KU |
23.1.1 | linaro_forge/23.1.1 | KU | KU | KU |
+ : すべてのユーザが利用可能
AU : 学術研究機関限定で利用可能
KU : 京都大学構成員限定で利用可能
― : 利用不可
moduleコマンドを実行し,環境設定を行います.(利用したいバージョンのmoduleファイルをロードします).
$ module load linaro_forge
対象のプログラムをデバッグオプション( -g )付でコンパイルします.
例 ソースプログラム( mmult.c )をIntelコンパイラでコンパイル
mpiicc mmult.c -o mmult_c -g
FastX で,次のコマンドを実行するとMAP/DDTのウェルカム画面が起動します. tssrun コマンドの詳細は 会話型処理 をご覧ください.
tssrun [option] -x11 forge --mpi=slurm
コマンド例(例:システムAで4つのプロセスを起動しgr19999a キューを使う場合):
tssrun -p gr19999a --rsc p=4 -x11 forge --mpi=slurm
ウェルカム画面で「Linaro DDT」->「Run」を選択すると,デバッガの設定ダイアログが開きます.
「Application」の項目に,デバッグしたいプログラム名を入力します.
プロセス並列の場合:「MPI」の項目にチェック入れて,対象のプログラムの並列数を設定します.
スレッド並列の場合:「OpenMP」の項目にチェック入れて,対象のプログラムの並列数を設定します.
必要な設定を行い[Run]をクリックします.
tssrun [option] -x11 ddt --mpi=slurm [filename]
コマンド例(例:システムAで4つのプロセスを起動しgr19999a キューを使う場合):
tssrun -p gr19999a --rsc p=4 -x11 ddt --mpi=slurm ./mmult_c
下記の画面が表示され,プログラムのデバッグが行えます.
ウェルカム画面で「Linaro MAP」->「Profile」を選択すると,プロファイラの設定ダイアログが開きます.
「Application」の項目に,デバッグしたいプログラム名を入力します.
プロセス並列の場合:「MPI」の項目にチェック入れて,対象のプログラムの並列数を設定します.
スレッド並列の場合:「OpenMP」の項目にチェック入れて,対象のプログラムの並列数を設定します.
必要な設定を行い[Run]をクリックすると,プログラムの実行が始まります.
MAP内でのプログラムの実行は,プログラムの終了まで続きます.
途中で止める場合は「Stop and Analyze」を押してください.
プログラムが終了するか,途中で止まると,解析が始まり,下記の解析結果の画面が表示されます.
会話型処理から実行する場合
MAPでプログラムを解析する場合は,--profileオプションをつけて実行します.
会話型処理の利用方法は 会話型処理をご覧ください.
tssrun [option] -pty map --profile --mpi=slurm [filename] [argument]
コマンド例(例:システムAで4つのプロセスを起動しgr19999a キューを使う場合):
tssrun -p gr19999a --rsc p=4 -pty map --profile --mpi=slurm ./mmult_c 3072
バッチ処理で実行する場合
バッチスクリプト内で -np オプションで--rscオプションのpの値と同じに指定します.
バッチの利用方法は バッチ処理をご覧ください.
#!/bin/bash
#============ Options ============
#SBATCH -p gr19999a
#SBATCH -t 1:00:00
#SBATCH --rsc p=4:t=4:c=4:m=20G
#============ Shell Script ============
module load linaro_forge
map -np 4 --profile --mpi=slurm ./mmult_c 3072
指定可能オプション
オプション | 説明 |
---|---|
-np num | プロセス並列数 |
--profile | MAPでプログラムを解析する場合に指定 |
--mpi=slurm | 指定されたMPI並列数をSlurmに渡します |
手順1で出力されたファイルを指定して結果を表示します.
tssrun [option] -x11 map --mpi=slurm [filename]
コマンド例(例:システムAで4つのプロセスを起動しgr19999a キューを使う場合):
tssrun -p gr19999a --rsc p=1 -x11 map --mpi=slurm ./mmult_c_1p_1n_1t_2024-05-16_16-26.map