Skip to main content



DDT, the Distributed Debugging Tool is a comprehensive graphical debugger for scalar, multi-threaded and large-scale parallel applications that are written in C, C++ and Fortran.

Versions and Availability

Module Names for ddt on philip
Machine Version Module Name
None Available N/A N/A
▶ Module FAQ?

The information here is applicable to LSU HPC and LONI systems.


A user may choose between using /bin/bash and /bin/tcsh. Details about each shell follows.


System resource file: /etc/profile

When one access the shell, the following user files are read in if they exist (in order):

  1. ~/.bash_profile (anything sent to STDOUT or STDERR will cause things like rsync to break)
  2. ~/.bashrc (interactive login only)
  3. ~/.profile

When a user logs out of an interactive session, the file ~/.bash_logout is executed if it exists.

The default value of the environmental variable, PATH, is set automatically using SoftEnv. See below for more information.


The file ~/.cshrc is used to customize the user's environment if his login shell is /bin/tcsh.


Modules is a utility which helps users manage the complex business of setting up their shell environment in the face of potentially conflicting application versions and libraries.

Default Setup

When a user logs in, the system looks for a file named .modules in their home directory. This file contains module commands to set up the initial shell environment.

Viewing Available Modules

The command

$ module avail

displays a list of all the modules available. The list will look something like:

--- some stuff deleted ---

---------------- /usr/local/packages/Modules/modulefiles/admin -----------------
EasyBuild/1.11.1       GCC/4.9.0              INTEL-140-MPICH/3.1.1
EasyBuild/1.13.0       INTEL/14.0.2           INTEL-140-MVAPICH2/2.0
--- some stuff deleted ---

The module names take the form appname/version/compiler, providing the application name, the version, and information about how it was compiled (if needed).

Managing Modules

Besides avail, there are other basic module commands to use for manipulating the environment. These include:

add/load mod1 mod2 ... modn . . . Add modules
rm/unload mod1 mod2 ... modn  . . Remove modules
switch/swap mod . . . . . . . . . Switch or swap one module for another
display/show  . . . . . . . . . . List modules loaded in the environment
avail . . . . . . . . . . . . . . List available module names
whatis mod1 mod2 ... modn . . . . Describe listed modules

The -h option to module will list all available commands.

Module is currently available only on SuperMIC.


  • DDT requires X-windows to function, so the local machine must have an X11 server installed and running.
  • ▶ X11 FAQ?

    From *nix

    Since ssh and X11 are already on most client machines running some sort of unix (Linux, FreeBSD, etc), one would simply use the following command:

    % ssh -X -Y

    Once successfully logged in, the following command should open a new terminal window on the local host:

    % xterm&

    An xterm window should appear. If this is not the case, email us.

    From Mac OS X

    An X11 service is not installed by default, but one is available for installation on the OS distribution disks as an add-on. An alternative would be to install the XQuartz version. Make sure the X11 application is running and connect to the cluster using:

    % ssh -X -Y

    From Windows

    Microsoft Windows does not provide an X11 server, but there are both open source and commercial versions available. You also need to install an SSH client. Recommended applications are:

    • Xming - a Windows X11 server
    • PuTTY - a Windows ssh client

    When a PuTTY session is created, make sure the "X11 Forwarding Enabled" option is set, and that the X11 server is running before starting the session.


    Once Xming and puTTY have been set up and in stalled, the following will provide a simple test for success:

    1. start Xming
    2. start puTTY
    3. connect to the remote host (make sure puTTY knows about Xming for this host)

    Once successfully logged in, the following command should open a new terminal window on the local host:

    % xterm&

    An xterm window should appear. If this is not the case, refer to "Trouble with Xming?" or email us.

    Note About Cygwin

    Cygwin is still a useful environment, but is to complicated and contains too many unnecessary parts when all one wants is to interface with remote X11 sessions. For these reasons, we recommend Xming and PuTTY as listed above.

    Advanced Usage

    The most important connection that is made is from the user's client machine to the first remote host. One may "nest" X11 forwarding by using the ssh -XY command to jump to other remote hosts.

    For example:

    1. on client PC (*nix or Windows), ssh to remotehost1

    2. on remotehost1 (presumably a *nix machine), ssh -XY to remotehost2

    3. on remotehost2 (presumably a *nix machine), ssh -XY to remotehost3


    8. on remotehost8 (presumably a *nix machine), ssh -XY to remotehost9

    9. on remotehost9, running an X11 application like xterm should propagate the remote window back to the initial client PC through all of the additional remote connects.

  • Compile the program with debugging enabled. This typically requires using the -O0 and -g command line switches.
  • When using a version of MVAPICH2 newer than 1.2, there are two versions of the MPI task manager to choose from. One uses the MPD daemons and the other uses a mechanism based on SSH. The latter is preferred as it gives much better scaling performance at high process counts. To specify its use, set the DDTMPIRUN environment variable to the absolute path of the launch manager you wish to use (if you use mpirun the mpd daemons must be managed manually):
  • $ export DDTMPIRUN=`which mpirun_rsh`
    $ export DDTMPIRUN=`which mpirun`


Last modified: November 11 2014 16:38:43.