Debugging and Optimizing Codes with Arm Forge
Date: Wednesday, October 14
Time: 11:00 a.m.–12:30 p.m.
In this training session organized by the Institute for Computational and Data Sciences (ICDS), engineers from Arm will introduce Arm Forge, an integrated environment for debugging and optimizing parallel codes at any scale. The session will provide hands-on demonstrations of how Arm Forge reduces development time, simplifies debugging, and ease application performance enhancement.
This training session will focus primarily on two tools, Arm DDT and Arm MAP, both of which are available on ICDS-ACI.
Using sample codes, Arm engineers will walk through the major capabilities of the debugger to illustrate how DDT can debug applications ranging from a single thread to large scale (MPI debug examples used throughout).
- How to use sparklines to visualize variable values across processes
- Using semantic analysis tools to catch bugs before you even run the code
- 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 stop 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
- Debugging on a GPU
- Debugging Python
The presenters will illustrate how, in a matter of minutes, you can understand the nature of your application’s performance through visualization
- Isolate workload imbalance issues in codes at any scale
- See how the amount of time spent in memory operations varies over time and processes
- Determine how well your application is vectorized
- Characterize file IO behavior
- Review profiling capabilities with Python
Attendee Prerequisites: Programming experience in C, C++, Fortran, or Python