About this Install Guide

This guide is intended to get you up and running with this tool quickly with the most common settings. For a thorough review of all options, refer to the official documentation.

Linaro Forge is a server and HPC development tool suite for C, C++, Fortran, and Python high performance code on Linux.

Linaro Forge consists of

Supported platforms

Linaro Forge runs on Linux hosts and multiple architectures. See the Linaro Forge documentation for a full list of supported configurations.

This install guide assumes an Arm AArch64 platform running Ubuntu Linux.


Download and extract the appropriate installation package from Linaro Forge Downloads .


            sudo apt install wget
wget https://downloads.linaroforge.com/23.0/linaro-forge-23.0-linux-aarch64.tar
tar -xf linaro-forge-23.0-linux-aarch64.tar
cd linaro-forge-23.0-linux-aarch64


Linux host

Run the installer from the command line with:


            ./textinstall.sh [--accept-license] [install_dir]

If no install directory is specified, you will be prompted to specify this while the installer runs.

To install to the default directory, non-interactively:


            ./textinstall.sh --accept-license /home/ubuntu/linaro/forge/23.0

Install on MacOS (remote client only)

Drag and drop the client application bundle icon into the Applications directory.

Install on Windows (remote client only)

Run the Windows file executable to install the Linaro Forge Remote Client.

Setting up the product license

You must install a license file on a machine running Linaro Forge tools to debug or profile.

See the Linaro Forge documentation for set up instructions depending on the type of license you have.

You do not need to install a license file on a machine running Linaro Forge Remote Client for connecting remotely to Linaro Forge tools on a remote system.

Free trial licenses are available for you try out Linaro Forge.

Get started


When compiling the program that you want to debug, you must add the debug flag to your compile command. For most compilers this is -g.

You should turn off compiler optimizations as they can produce unexpected results when debugging.

Linaro Forge’s debugging tool, Linaro DDT, can be launched with the ddt command. For MPI applications, you can prefix the mpirun/mpiexec command normally used to run in parallel:


            ddt mpirun -n 128 myapp

This startup method is called Express Launch and is the simplest way to get started. If your MPI is not supported by Express Launch, you can run the following instead:


            ddt -n 128 myapp

These commands will launch Linaro DDT GUI. When running on a HPC cluster, you may need to debug on compute nodes where this may not be possible. In this case, you can start the GUI on the frontend node with the ddt command and when running or submitting a job to the compute nodes use ddt --connect :

With Express Launch:


            ddt --connect mpirun -n 128 myapp

Without Express Launch:


            ddt --connect -n 128 myapp

This mode is called Reverse Connect. A window will appear in the GUI when the application runs to notify of the incoming request.


In most cases, if your program is already compiled with debugging symbols (-g), you do not need to recompile your program to profile it with Linaro Forge. However, in some cases it might need to be relinked (see the Linking ).

Typically you should keep optimization flags enabled when profiling (rather than profiling a debug build). This will give more representative results.

Linaro Forge’s profiling tool, Linaro MAP, can be launched with the map command to launch the GUI. When running on a HPC cluster with MPI, you should use map --profile when running or submitting a job to the compute nodes:

With Express Launch:


            map --profile mpirun -n 128 myapp

Without Express Launch:


            map --profile -n 128 myapp

A *.map file will be created in the current directory with profiling results when the application terminates. This file can be then open from the GUI launched on the frontend node or with the following command:


            map myapp_128p_<timestamp>.map


Linaro Forge’s reporting tool Linaro Performance Reports is designed to run on unmodified production executables, so in general no preparation step is necessary. However, there is one important exception: statically linked applications require additional libraries at the linking step (see user guide ).

Linaro Performance Reports does not use a GUI. Instead, it produces HTML and TXT files when the application terminates to summarize the application behavior. Here is how to use the tool on MPI applications

With Express Launch:


            perf-report mpirun -n 128 myapp

Without Express Launch:


            perf-report -n 128 myapp

Two files myapp_128p_<timestamp>.html and myapp_128p_<timestamp>.txt will be created in the current directory.

Linaro Forge is now installed and ready to use.


How would you rate the overall quality of this tool quick-install guide?