Linaro Forge

Linaro Forge is a GUI-based powerful debugger/profiler and supports various compiler environments. DDT is a debugger and MAP is a profiler.

DDT

  • Support for parallel applications
  • Memory debugging
  • Reverse debugging
  • Efficient debugging with visual representation (program, variables, MPI inter-process communication)

MAP

  • Support for parallel applications
  • Display performance bottleneck at the source line level
  • Intuitive understanding of bottlenecks with visual representation

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

Linaro Forge User guide

Linaro Forge