Arm DDT is a commercial
C,
C++ and
Fortran 90 debugger produced by Allinea Software now part of
Arm of
Warwick
Warwick ( ) is a market town, civil parish and the county town of Warwickshire in the Warwick District in England, adjacent to the River Avon. It is south of Coventry, and south-east of Birmingham. It is adjoined with Leamington Spa and Whi ...
,
United Kingdom
The United Kingdom of Great Britain and Northern Ireland, commonly known as the United Kingdom (UK) or Britain, is a country in Europe, off the north-western coast of the continental mainland. It comprises England, Scotland, Wales and North ...
. It is widely used for debugging
parallel
Parallel is a geometric term of location which may refer to:
Computing
* Parallel algorithm
* Parallel computing
* Parallel metaheuristic
* Parallel (software), a UNIX utility for running programs in parallel
* Parallel Sysplex, a cluster of IBM ...
Message Passing Interface (MPI) and threaded (
pthread
POSIX Threads, commonly known as pthreads, is an execution model that exists independently from a language, as well as a parallel execution model. It allows a program to control multiple different flows of work that overlap in time. Each flow of ...
or
OpenMP) programs, including those running on
clusters of
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
machines.
Debugger
It is used to find bugs on both small and large clusters, from 1 to 100,000s of
processors
A central processing unit (CPU), also called a central processor, main processor or just processor, is the electronic circuitry that executes instructions comprising a computer program. The CPU performs basic arithmetic, logic, controlling, and ...
. It features
memory debugging
Memory is the faculty of the mind by which data or information is encoded, stored, and retrieved when needed. It is the retention of information over time for the purpose of influencing future action. If past events could not be remembered, ...
which detect
memory leaks, or reading and writing beyond the bounds of arrays.
It was the first debugger to be able to debug
petascale
Petascale computing refers to computing systems capable of calculating at least 1015 floating point operations per second (1 petaFLOPS). Petascale computing allowed faster processing of traditional supercomputer applications. The first system to ...
applications - having been used to debug applications running concurrently on 220,000 processes on a
Cray XT5 at
Oak Ridge National Laboratories. This is possible interactively as the debugger's control tree architecture leads to logarithmic performance for most collective operations. Arm DDT uses the
GNU Debugger as debug engine.
Arm DDT also supports coprocessor architectures such as
Intel Xeon Phi coprocessors and
Nvidia
Nvidia CorporationOfficially written as NVIDIA and stylized in its logo as VIDIA with the lowercase "n" the same height as the uppercase "VIDIA"; formerly stylized as VIDIA with a large italicized lowercase "n" on products from the mid 1990s to ...
CUDA
CUDA (or Compute Unified Device Architecture) is a parallel computing platform and application programming interface (API) that allows software to use certain types of graphics processing units (GPUs) for general purpose processing, an approach ca ...
GPUs
A graphics processing unit (GPU) is a specialized electronic circuit designed to manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device. GPUs are used in embedded systems, mobil ...
.
It is part of Arm Forge - a suite of tools for developing code in high performance computing - which also includes the performance profiler for scalar, multithreaded and parallel codes -
Arm MAP
Arm MAP, is an application profiler produced by Allinea Software now part of Arm. of Warwick, United Kingdom, for profiling the performance of C, C++, Fortran 90 and Python software. It is widely used for its multithreaded and multiprocess capab ...
.
, 80 percent of the world's top 25 supercomputers on the
TOP500
The TOP500 project ranks and details the 500 most powerful non-distributed computing, distributed computer systems in the world. The project was started in 1993 and publishes an updated list of the supercomputers twice a year. The first of these ...
list, use Arm's tools.
Notes
{{Reflist
External links
Allinea SoftwareAllinea DDT product page
Debuggers