Debugging & Profiling

Initial Setups

BG/Q

  • Core File Settings on BG/Q: this page contains some environment variables that allow you to control code file creation and contents.
  • Using VNC with a Debugger on BG/Q: when displaying an X11 client (e.g. Totalview) remotely over the network, interactive response is typically slow. Using the VNC server can often help you improve the situation.

Debugging Tools

BG/Q

  • bgq_stack on BG/Q: a script developed at ALCF that uses addr2line to print a symbolic version of the stack in a BG/P core file.
  • Coreprocessor debugger on BG/Q: a basic tool that enables parallel debug of problems at all levels (hardware, kernel, and application).
  • The GNU Project Debugger on BG/Q : gdb allows you to see what is going on 'inside' another program while it executes -- or what another program was doing at the moment it crashed.
  • Totalview on BG/Q: a GUI-based source code defect analysis tool that gives you unprecedented control over processes and thread execution and visibility into program state and variables.

XC40 and BG/Q

  • Allinea DDT on BG/Q and Theta: the most advanced debugging tool available for scalar, multi-threaded and large-scale parallel applications. It debugs code on: workstations, GPUs, clusters and the very largest supercomputers.
  • ATP and stat-view on Theta: a tool to help debug abnormal program terminations on Theta.

Common Debugging Issues

BG/Q

  • Determining Memory Use on BG/Q: learn how to use the glibc mallinfo call along with the BG/P personality to get the information on used/available memory in your code.