Linaro DDT is a graphical debugger for HPC applications. It supports pthreads, OpenMP, or MPI code on CPU, GPU, and MIC based architectures.
Availability & Restrictions
Versions
The Linaro DDT versions currently available at OSC are:
Version | Owens | Pitzer | Ascend |
---|---|---|---|
22.0.2 | X | X | X |
23.1 | X* | X* | X* |
You can use module spider linaro-ddt
to view available modules for a given machine. Feel free to contact OSC Help if you need other versions for your work.
Access
Linaro DDT is available to all OSC users. We have 64 seats with 80 HPC tokens. Users can monitor the Linaro License Server Status.
Publisher/Vendor and License Type
Linaro, Commercial
Usage
Set-up
To load the module for the Linaro DDT default version, use module load linaro-ddt
. To select a particular software version, use module load linaro-ddt/version
. For example, use module load linaro-ddt/23.1
to load Linaro DDT version 23.1, provided the version is available on the OSC cluster in use.
Note: Before you run DDT from the command line for the first time, open DDT as a GUI from OnDemand to configure with appropriate settings for your environment.
Using Linaro DDT
DDT debugs executables to generate DDT reports. The program can be used to debug third-party code as well as code you develop yourself. DDT reports are normally generated in a batch job.
To generate a DDT report for an MPI program:
module load linaro-ddt ddt --offline -np <num procs> --mpiargs="<mpi args>" <program> <program args>
where <num procs>
is the number of MPI processes to use, <mpi args>
represents arguments to be passed to mpiexec (other than -n or -np), <program>
is the executable to be run and <program args>
represents arguments passed to your program.
For example, if you normally run your program with mpiexec -n 12 wave_c
, you would use
ddt --offline -np 12 wave_c
To debug a non-MPI program:
module load linaro-ddt ddt --offline --no-mpi <program> <program args>
The DDT report is created in html format. The file names are based on the executable name, number of processes, date and time, for example, wave_c_12p_2016-02-05_12-46.html
. To open the report use
firefox wave_c_12p_2016-02-05_12-46.html
Using the Linaro DDT GUI
To debug with the DDT GUI remove the --offline
option. For example, to debug the MPI program above, use
ddt -np 12 wave_c
For a non-MPI program:
ddt --no-mpi <program> <program args>
This will open the DDT GUI, enabling interactive debugging options.
For the GUI application, one should use an OnDemand VDI (Virtual Desktop Interface) or have X11 forwarding enabled (see Setting up X Windows). Note that X11 forwarding can be distractingly slow for interactive applications.
For more details, see the Linaro DDT developer page.
DDT with GPU
DDT can be used for CUDA codes. If you have an executable compiled with the CUDA library, you can launch Linaro Performance Reports with
ddt {executable}
For more information, please read the chapter 14 of the Linaro Forge User Guide.