Speaker
Bernard Van Renterghem
(UCL CISM)
Description
Debugging and profiling are essential skills for developing reliable and efficient scientific software. While debugging helps identify and fix incorrect behavior, profiling helps understand where execution time and resources are spent. This session introduces practical tools and methodologies to diagnose problems, improve performance, and optimize applications running on HPC systems.
| Contents | Information |
|---|---|
| • Introduction to debugging and performance analysis • Common programming errors and how to identify them • Interactive debugging with GDB • Memory debugging with Valgrind • Understanding stack traces and core dumps • Profiling CPU usage and execution hotspots • Measuring memory usage and I/O performance • Using compiler flags to aid debugging and optimization • Interpreting profiling reports • Best practices for debugging and performance tuning on HPC systems |
Prerequisite: • Basic knowledge of a compiled programming language (C, C++, or Fortran) • Being familiar with Linux • Being familiar with a text editor • Basic knowledge of compilation and build systems Type: Hands-on Target audience: Programmers and researchers developing or modifying software. Must: Strongly recommended for anyone writing, compiling, or optimizing scientific applications. |