Linaro Forge is a GUI-based powerful debugger/profiler and supports various compiler environments. DDT is a debugger and MAP is a profiler.
DDT
MAP
Version | Module File | System A | System B/C | System G/Cloud |
---|---|---|---|---|
24.0 (default) | linaro_forge/24.0 | KU | KU | KU |
23.1.1 | linaro_forge/23.1.1 | KU | KU | KU |
+ : Available for all users.
AU : + : Available for academic users only.
KU : Available for Kyoto University members only.
― : Not available.
Set up the environment by executing the module command. (Load the version of the module file you want to use.)
$ module load linaro_forge
Compile the target program with debugging options ( -g ).
Example: Compile the source program ( mmult.c ) with Intel compiler
mpiicc mmult.c -o mmult_c -g
Execute the following command in FastX and the welcome screen of MAP / DDT will start up. For details of the tssrun command, see Interactive processing.
tssrun [option] -x11 forge --mpi=slurm
Command example (e.g., When starting four processes in system A and using the gr19999a queue):
tssrun -p gr19999a --rsc p=4 -x11 forge --mpi=slurm
On the welcome screen, select "Linaro DDT" -> "Run" and the debugger setup dialog will open.
Enter the program name you want to debug in the "Application" field.
For process parallelism: Check the "MPI" box and set the number of parallels of the target program.
For thread parallelism: Check the "OpenMP" box and set the number of parallels of the target program.
Complete the necessary settings and click on [Run].
tssrun [option] -x11 ddt --mpi=slurm [filename]
Command example (e.g., When starting four processes in system A and using the gr19999a queue):
tssrun -p gr19999a --rsc p=4 -x11 ddt --mpi=slurm ./mmult_c
The following screen will appear, and you can debug the program.
On the welcome screen, select "Linaro MAP" -> "Profile" and the profiler setup dialog will open.
Enter the program name you want to debug in the "Application" field.
For process parallelism: Check the "MPI" box and set the number of parallels of the target program.
For thread parallelism: Check the "OpenMP" box and set the number of parallels of the target program.
Complete the necessary settings and click on [Run] and the program starts executing.
Program execution in MAP continues until the end of the program.
If you want to stop the process, press "Stop and Analyze".
When the program ends or stops midway, the analysis starts and the following analysis results screen will be displayed.
When executing with a interactive processing
To analyze a program with MAP, execute it with the --profile option.
See Interactive Processing for details on how to use interactive processing.
tssrun [option] -pty map --profile --mpi=slurm [filename] [argument]
Command example (e.g., When starting four processes in system A and using the gr19999a queue):
tssrun -p gr19999a --rsc p=4 -pty map --profile --mpi=slurm ./mmult_c 3072
When executing with a batch processing
Specify the same value as p of the --rsc option with the -np option in the batch script.
For details on how to use batch, see batch processing .
#!/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
Specifiable Option
Option | Purpose |
---|---|
-np num | Number of parallel process |
--profile | Specify when analyzing programs with MAP |
--mpi=slurm | Passes the specified number of MPI parallels to Slurm |
Display the results by specifying the file output in step 1.
tssrun [option] -x11 map --mpi=slurm [filename]
Command example (e.g., When starting four processes in system A and using the gr19999a queue):
tssrun -p gr19999a --rsc p=1 -x11 map --mpi=slurm ./mmult_c_1p_1n_1t_2024-05-16_16-26.map