Profile Picture
Richard Bunt

Software Developer
Linaro
Standard Ticket

Prior to joining the Forge team, he completed a PhD in High Performance Computing and Visualisation. This involved analysing and developing an analytical model for the runtime performance of unstructured mesh CFD (Computational Fluid Dynamics) applications. Such models are useful for assessing the impact of input deck changes on runtime, without needing to spend compute time to collect the data empirically. On the Forge team, he is the maintainer of the High Performance Computing (HPC) extensions to the GNU Debugger (GDB). This has required developing an understanding of the upstreaming process, managing others (both maintainers and first-timers), and the parts of the code base which intersect with HPC. Predominantly, the Fortran language and dynamic types.

Talks

MAD24-405 A GDB to support debugging High Performance Computing (HPC) Applications: Upstreaming

  • Friday, 17 May 10:20 - 10:45
  • Room: Session 3 | Tenerife II

Debugging High Performance Computing (HPC) codes presents several challenges. For example: multiple gigabytes of debug information, tens of thousands of processes and multiple third-party compilers with varying interpretations of DWARF. Forge GDB includes specialisation to handle these scenarios. Historically, these specialisations were provided through a 400+ out-of-tree patch set. However, this patch set was costing months of time per year to maintain. This factor forced a shift in approach from maintaining downstream changes to upstreaming. This shift towards upstreaming enabled further reductions in patchset size, reduction in maintenance cost from months to weeks, and made the HPC specialisations available to a wider audience out-of-the-box.