Description
The course includes topics on code optimization for x86 platforms and efficient code parallelisation using OpenMP threading. Advanced aspects of threading and optimization, such as new features in OpenMP 4.5, will be covered during the course. Some performance aspects of hybrid MPI+OpenMP programs 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
Agenda
Day 1: Wednesday, April 4
-
Course introduction
-
Performance analysis methods and tools
-
Vectorization using SIMD
Day 2: Thursday, April 5
-
More about SIMD vectorization
-
Optimizing memory accesses
Day 3: Friday, April 6
-
Advanced OpenMP features
-
OpenMP performance considerations
-
Hybrid MPI and OpenMP
Lecturers: Sami Ilvonen (CSC), Mikko Byckling (Intel)
Language: English
Price: Free of charge