Ensuring Program Correctness with Linaro DDT
Linaro DDT is a highly scalable parallel debugger, part of the Linaro Forge suite, which is the de-facto standard for HPC development. It is designed specifically for HPC workloads, including multi-threaded applications, to ensure program correctness.
Description
Linaro DDT is a highly scalable parallel debugger capable of operating from a single processor up to hundreds of thousands of processors. It is designed from the ground up for HPC workloads, with a particular focus on multi-threaded applications, typically using MPI or SPMD codes. It offers state-of-the-art debugging capabilities, including powerful error detection mechanisms, and is designed to simplify remote interactive sessions. This training session walks through the debugger's key capabilities to verify program correctness.
Attributes
| Level: | Intermediate |
|---|---|
| Class type: | General |
| Time commitment: | 2h |
Topics Covered
- Using Forge as a remote client
- Using semantic analysis tools to catch bugs before you even run the code
- How to use sparklines to visualize variable values across processes and threads
- Illustrate memory debugging to trap array out of bounds errors and memory leaks
- Using the array viewer to visualize multi-dimensional variables
- Using watchpoints to halt execution dependent upon expression values
- Offline debugging for large scale debugging, catching non-deterministic errors and continuous integration
- Trace points, a flexible and deterministic printf alternative
- Modifying the definition of your program without re-building using the Evaluate Window
Learning Outcomes
- Ensure program correctness using Linaro DDT.
- Isolate and investigate faults at scale.
- Utilize advanced features like Tracepoints, Watchpoints, and Static analysis.
- Perform memory debugging and detect various memory issues.
- Debug GPU and Python code.
- Visualize array data using the Multi-dimensional Array View.