Projects and Collaboration Networks
Service Break
Projects and Collaboration Networks
Service Break


Advanced Threading and Optimization
Date: 04.04.2018 9:00 - 06.04.2018 16:00
Location details: The event is organised at the CSC Training Facilities located in the premises of CSC at Keilaranta 14, Espoo, Finland. The best way to reach us is by public transportation; more detailed travel tips are available.
Language: English
Lecturers: Sami Ilvonen (CSC)
Mikko Byckling (Intel)
  • Free for Finnish universities, polytechnics and governmental research institutes.
  • Free for others.
The course materials, lunches as well as morning and afternoon coffees are free of charge.
Registration by 23.03.2018 12:00
The seats are filled in the registration order. You may cancel your attendance in 5 business days prior the course.
Additional information
This course is part of the PRACE Advanced Training Centres (PATCs) activity. Please visit the PRACE Training portal for further information about the course. For content please contact, for practicalities


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


  • Good knowledge of C/C++ or Fortran
  • Good knowledge of threading using OpenMP
  • Basic knowledge of MPI
  • Basic knowledge of modern CPU architectures

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

Projects and Collaboration Networks
Service Break
Projects and Collaboration Networks
Service Break