Description
The course includes topics on code optimization for x86 platforms and
efficient code parallelization using OpenMP threading. Advanced aspects
of threading and optimization, such as new features of OpenMP 4.0, will
be covered during the course. Some performance aspects of MPI will also be discussed.
Learning outcome
- Awareness of modern features of x86 CPUs
- Ability to vectorize computations
- Ability to use advanced features of OpenMP
- Ability to increase code performance using threading and x86 optimization
Prerequisites
- Good knowledge of C/C++ or Fortran
- Good knowledge of threading using OpenMP
- Basic knowledge of MPI
- Basic knowledge of modern CPU architectures
Program
Day 1: Monday, April 18
9:00- 9:45 Introduction
10:00-10:15 Coffee break
10:15-12:00 Performance Analysis methods & tools. Interactive demo.
12:00-13:00 Lunch break
13:00-13:45 Microarchitectural optimization
13:45-14:00 Coffee break
14:00-14:45 Optimization for SIMD
14:45-16:00 Exercises
Day 2: Tuesday, April 19
9:00- 9:45 Optimization for SIMD cont'd
9:45-10:00 Coffee break
10:00-11:15 Exercises
11:15-12:00 Memory access optimization
12:00-13:00 Lunch break
13:00-13:45 Memory access optimization cont'd
13:45-14:45 Exercises
14:45-15:00 Coffee break
15:00-16:00 Exercises
Day 3: Wednesday, Aprl 20
9:00- 9:45 Advanced OpenMP
9:45-10:00 Coffee break
10:00-11:15 Exercises
11:15-12:00 OpenMP performance considerations
12:00-13:00 Lunch break
13:00-14:00 Exercises
14:00-14:45 MPI performance considerations
14:45-15:00 Coffee break
15:00-16:00 Exercises
Lecturers: Sebastian von Alfthan (CSC), Mikko Byckling (Intel), Pekka Manninen (CSC)
Language: English
Price: Free of charge