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.
- 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.