Behind the scenes perspective: into the abyss of profiling for performance

This workshop is an introduction to profiling a system or individual programs. We will concentrate on profiling to understand aspects of program performance. All discussion and examples are presented with Linux in mind, and some Intel specific information will be given.

Topics include:

Overview of

  • CPU microarchitecture (Intel mainly)
  • OS: processes and threads
  • Parallel programming models
  • Algorithm Complexity to Real Code expectations

Profiling & Performance: types and typical metrics

  • How to profile
  • Introduction to various tools

Hands on exercises using profiling tools

  • Some HEP specific cases and examples

It will be assumed the participants are already familiar with Linux. The application level portion of the profiling exercises will be done with C or C++ programs.

Please bring a laptop with an ssh client installed, to be able to connect to servers and run the exercises.