User Guide

Allinea DDT User Guide
Download the latest Allinea DDT and Allinea MAP user guide.

Key topics include:

  • Installation and Configuration
  • Starting DDT
  • Controlling Program Execution
  • Variables And Data
  • Program Input And Output
  • Message Queues
  • Memory Debugging
  • The Licence Server
  • Using and Writing Plugins for DDT
  • CUDA GPU Debugging
  • Offline Debugging

Support

Getting Support

Contact support@allinea.com to obtain support for Allinea DDT or Allinea MAP.

Our support team will work with you to ensure our software works as expected on your platform. We endeavour to respond to all queries within one business day.

Allinea DDT and Allinea MAP come in one combined bundle. The current release version is version 4.0.

In some cases there may be a known issue for your system, compiler or MPI. Significant known issues and the release history is listed below.

User guide

Download the user guide or access it directly within the software. To do so, Select Help from the Allinea DDT or Allinea MAP menu bar, or press F1, to display it. The user guide is also located in the doc subdirectory of the installation.

Known Issues

As of version 4.0, the Allinea tools split the configuration files (config.ddt) into two (config.system and config.user). Existing site-wide configuration files need to be updated as follows:
cp /path/to/old/ddt/config.ddt config.tmp
ddt -config config.tmp -cleanconfig
Then copy the file as indicated by the on-screen instructions. 4.0 configuration files can not be read by previous versions of DDT.

If the in-application user guide (F1 - User Guide) is invisible, please remove stale cached files by typing:
rm -r ~/.local/share/data/Allinea

MAP:

  • Portland compilers not supported
  • CUDA not supported
  • Limited support for OpenMP
MAP floating licence files require the new licenceserver to be installed. Older licenceserver versions (e.g. from DDT 3.2.1) will not load MAP floating licences.

DDT + CUDA:

  • With CUDA 4.1 after deleting a breakpoint at the current thread location and with CUDA memory debugging enabled, the kernel may not advance subsequently.
  • The CUDA 5 driver is not backward compatible with CUDA 4.2/4.1 toolkits. A working solution is to set DDT_FORCE_CUDA_VERSION=5.0 before starting DDT.
  • The CUDA 5 early access drivers contained known issues - please update to the most recent driver to ensure debugging is supported.
  • Cray CCE 8.1.2 OpenACC and previous releases will fail to generate local variables in accelerated regions. Please install CCE 8.1.3.

DDT + VisIt:

  • On Cray XK6 to use DDT's VisIt support you will need to link your program with ddtsim.so (ddt/lib/libddtsim.so) manually.
  • If you are using VisIt on Ubuntu/Debian/Mint you may need to set the environment variable LIBGL_ALWAYS_INDIRECT=1 before starting DDT, otherwise the VisIt GUI will fail to load. There have also been some problems with using the more recent Intel DRI drivers with VisIT, it may be necessary to use the libgl1-mesa-swx11 package (Debian/Ubunut/Mint) instead of libgl1-mesa-glx.
Further issues and workarounds can be found in the release notes (doc/RELEASE-NOTES). You should also consult the appendix of the user guide to note any platform, compiler or MPI issues that may affect your debugging.

Release History/Changes

Changes since Allinea tools 4.0:

      • 2013-05-09: 4.0-31221: Bug fixes
        - Fixed problems causing open file descriptor limits being hit.
        - Reduced load on the licence server when running MAP.
        - Fix compatibility issue with pre 4.0 licence servers.
        - Restored missing library on AIX.
        - Fixed library conflict with Qt programs.
        - Fixed job launching on Bluegene/P and Bluegene/Q.
      • 2013-04-24: 4.0-30663: Bug fixes
        - Fixed Ubuntu 10.04 and MIC builds available on web site.
        - Corrections to log file naming.
        - Improve mismatch versions error message.
      • The -config command-line argument and DDTCONFIG environment variable are now only to be used to import configuration files from versions of DDT prior to 4.0.
      • User guide updates.
      • Licence server now recognizes MAP.
      • Bug fixes:
        - Job submission cancellation.
        - Locating aprun when performing quick restart on Cray.
        - Locating suppressions file when connecting to remote host.
        - Disable DDT plugins in MAP.
        - Licencing issues fixed.

Changes for Allinea tools 4.0:

      • MAP profiler lets you see and improve the performance of your application.
      • New code viewer with improved syntax highlighting and code folding.
      • Remote client for Linux, Windows and Mac makes it easy to start jobs on a remote system.
      • Redesigned welcome page.
      • Thread viewer now shows OpenMP thread ID for supported OpenMP thread implementations.
      • Support for MPICH 3.
      • Support attaching to GPU codes on Cray XK7 and fix launching of GPU codes under certain configurations.
      • Preloading of the C/Fortran (no threads/threads) Memory Debugging Library is now supported on the Cray XK6/7 (requires aprun/ALPS 4.1 or later) if the program is dynamically linked. Preloading of C++ (no threads/threads) is not supported.

Changes since DDT 3.2.1:

      • 2013-02-07: 3.2.1-28503: Minor bugfixes and changes
        - Better UPC and PIE executable detection.
        - Fixes a debugger variable parsing error, triggered by some missing RTTI information.
        BlueGene/Q: Fixes startup on some systems, use "runjob" in PATH instead of fixed "/bgsys/drivers/ppcfloor/bin/runjob".
        - Breakpoints in CUDA kernels for symlinked files now working.
        - Memory allocation functions that usually align the allocated memory (e.g. posix_memalign) will no longer align memory if memory debugging and guard pages are activated. This ensures that guard pages work for those functions.
      • 2012-12-19: 3.2.1-27702: Minor bugfixes and changes:
            - Configuration wizard next button now always enabled for MPI choice.
            - Fixes: a debugger variable parsing error; blank stacks display occasionally on switching threads; GUI crash if "-v" passed as argument on command line after user binary name; enabled support of DDT and VisIt integration for certain proscribed variable names; fix an issue where OpenMPI and Intel MPI jobs may fail to start on systems with an Intel Xeon Phi card.
            - Improvements to job submission - temporary filenames no longer start with a ".", solves errors on PBS Pro batch system.
            - Breakpoints in applications on Cray machines now persisted across restart sessions. 
            - New DDT_MPIRUN_ARGUMENTS environment variable: duplicates the -mpiargs command line argument to DDT but makes passing multiple   arguments easier.
            - Faster CUDA kernel identification - eliminates long wait seen on larger GPUs

      • 2012-11-21: 3.2.1-26802: Performance improvement for large scale Cray sites with globally mounted home directories. Fix for failing to set breakpoints in -fPIE-compiled binaries where a breakpoint is resolved at runtime. Fix to allow debugging non-MPI OpenACC/CUDA jobs on Cray XK6/7 without setting additional environment variables.

2012-10-31 New for Allinea DDT 3.2.1:

      • Support for IBM BlueGene/Q.
      • Support for NVIDIA CUDA 5 and Cray XK7 and Cray XC30 including NVIDIA Kepler K20.
      • Support Intel Xeon Phi.
      • Support for heterogeneous architectures
      • MPMD support for MPICH2 and Intel MPI (in addition to Open MPI and Cray MPT)
      • Licence server is now able to support failover to alternative hosts.

2012-07-09 New features for v3.2

      • VisIt Visualization Support: DDT may now function as a VisIt data source, providing online visualization capabilities during a debugging session without the need for program instrumentation or recompilation. 
      • CUDA: Full CUDA 4.2 support.
      • CUDA: Option to track memory allocations and detect double frees, etc.
      • Signal Handling: Signals may now be explicitly ignored using the new Signal Disposition window.
      • Smart Highlighting: New support for for small structures and arrays makes even more cross-process information available in an instant.
      • Attaching: New hosts editor for selecting which hosts to attach to.
      • Queue Submission: Programs may be restarted without resubmitting them to the queue. You may need to edit your queue template file to enable this feature.
      • Queue Submission: File selector support for queue template tags.
      • Message Queues: Improved Message Queues window with process group support.
      • Memory Debugging: Options and error messages have been made clearer.
      • Memory Debugging: Check Pointer is Valid has been merged with View Pointer Details.
      • MPI: DDT can now be configured to detect the MPI implementation each run, making it easier to work with multiple MPI implementations.
      • Bluegene/P: Improved speed and stability.
      • Bluegene/P: Reduce memory footprint allows larger program to be debugged, even in Virtual Node mode.
      • Bluegene/P: Fixed a problem with truncated stack back traces.
      • Networking: Improved auto-configuration of network addresses, etc. used by DDT.
      • DDT no longer forcefully kills mpirun during shutdown.
      • Fix some visual artifacts in the Run window on some systems.

Previous Releases

    • 2012-07-09 Allinea DDT 3.2 released.
    • 2011-11-28 Allinea DDT 3.1 released. Major release with new support for UPC, Coarray Fortran, offline debugging, and CUDA 4.0/4.1.
    • 2011-04-27 Allinea DDT 3.0 released. Major release with support for full size debugging at Petascale and many enhancements to make debugging fast at all scales.
    • 2010-12-24 Allinea DDT 2.6.1 released.
    • 2010-06-18 Allinea DDT 2.6 released. Support for CUDA and Cray Fast Track Debugging