Debugging & Optimization @CINES/MdS

CET
CINES

CINES

950 rue de Saint-Priest 34097 MONTPELLIER
Description

This training will present basic elements first to enable developpers to understand when and how to use a debugger, and second to optimize the performance of their codes.

Debugging :

  • A short introduction to debugging with examples

Optimization :

  •  Basics (stripping, IOs, getting the calculations out of the loops, changing the algorithm, ...)
  •  Compiler options - Profilers (Valgrind, Intel Vtune)
  •  Vectorization - Data access (cache usage maximization)
  •  OpenMP parallelization strategies
  •  Theory to upper-bound the expected performance benefit (speedup, efficiency, peak, memory bandwidth, ...)

Half of the course will be made of hands-on sessions.

Learning outcomes 
Ability to understand the main issues for code optimization, knowledge of the main tools and techniques for basic debugging.

Prerequisites 
Basic knowledge of Unix, programming experience in C or Fortran, OpenMp