This training will present basic elements to enable developpers to understand when and how to optimize the performance of their codes.
- Compiler options
- Vectorization – Data access (cache usage maximization)
- Theory to upper-bound the expected performance benefit (speedup, efficiency, peak, memory bandwidth, …)
- Examples of Stencil codes and N-body simulations
Half of the course will be made of hands-on sessions. The hands-on will use the https://github.com/aff3ct/MIPP library
- Bertrand Cirou
- Mathieu Cloirec
- Cédric Jourdain
- Umesh Seth
- Dorian Midou
- Naima Alaoui
Ability to understand the main issues for code optimization, knowledge of the main tools and techniques for basic debugging.
ID Card, ZRR access, Basic knowledge of Unix, programming experience in C++, OpenMP
Modern Scientific C++
High Performance Parallel IO and post-processing