Skip to main content

A debugger shows you what your code is really doing, not what you think it is doing. Learn to productively use gdb4hpc, ROCgdb, and Linaro DDT in hands-on sessions led by experts from HPE, AMD, and Linaro.

The online course consists of two days of lectures interwoven with hands-on exercises run directly on Hunter. The course is aimed at people new to debugging tools and does not require prior experience with the tools. On the second day, time is also reserved for applying Linaro DDT to your own code.

gdb, the GNU debugger, is the standard debugging tool on Linux. It lets you pause a program, step through it line by line, and inspect variables and memory.

ROCgdb, developed by AMD, extends gdb to AMD GPUs and APUs. It keeps the familiar gdb workflow while adding what GPU code needs: stepping through kernels, switching between GPU threads, and inspecting GPU registers and memory.

gdb4hpc, developed by HPE, brings gdb-style debugging to large parallel applications. Instead of launching a separate debugger per process, it lets you inspect and control a job across many processes and nodes from a single interface.

Linaro DDT is a graphical debugger built for HPC. It connects to your running compute job and shows the whole parallel execution visually, making it easy to set breakpoints, inspect variables, and follow control flow across many processes at once.

Fees

Free of charge

Pre-required logistics

An account on Hunter. HLRS users can use their existing account; participants from other centers can be given a guest account after submitting a completed user form, sent as a PDF and as a signed original by post.

Basic Linux command-line familiarity (navigating the shell, editing files, compiling and submitting jobs). No prior debugger experience is required; the course starts with gdb basics.

For the Linaro DDT "bring your own code" session: a code that builds and runs on Hunter, compiled with debug information (-g, and -O0 recommended). Without a debug build you can follow along but won't be able to debug your own application.