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 smic
Machine Version Module Name
smic 4.2.1 ddt/4.2.1
▶ **FIX-ME** FAQ?


  • 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 username@remote.host.tdl

    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 username@remote.host.tdl

    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.