Apr 26 – 28, 2017
CSC - IT Center for Science
Europe/Helsinki timezone


This course will give you the tools and skills needed for writing high performing code for scientific computing. It focuses on techniques that enable you to extract maximum performance from a single node in a modern supercomputer or cluster, which provides the foundation for good performance even for codes running on multiple nodes.

Topics include code optimization for x86 platforms (SIMD vectorization, caches, efficient datamovement) and efficient code parallelization using OpenMP threading. Advanced aspects of threading and optimization, such as new features of OpenMP 4.5, will also be covered during the course.

During the course there is also an opportunity to analyze and optimize your code, and get advice from the lecturers on how to improve the performance in your code.

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 OpenMP threading and single core optimization techniques


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


Day 1: Wednesday, April 26

  • 09.00-09.45 Introduction to performance tuning in HPC

  • 09.45-10.00 Coffee break

  • 10.00-10.45 CPU architecture

  • 10.45-11.45 Performance Analysis methods & VTune Amplifier. Interactive demo.

  • 11.45-12.30 Lunch break

  • 12.30-14.15 Exercises

  • 14.15-14.30 Coffee break

  • 14.30-15.15 Microarchitectural optimization

  • 15.15-16.15 Exercises

  • 16.15-18.00 Opportunity to optimize your own code (optional)

Day 2: Thursday, April 27

  • 09.00-09.45 Optimization for SIMD

  • 09.45-10.00 Coffee break

  • 10.00-11.00 Exercises

  • 11.00-11.30 Optimization for SIMD cont'd

  • 11:30-12:00 Improving SIMD performance using Intel Advisor

  • 12.00-12.45 Lunch break

  • 12.45-14.30 Exercises

  • 14.30-14.45 Coffee break

  • 14:45-15:15 Memory access optimization

  • 15.15-16.00 Exercises

  • 16.00-18.00 Opportunity to optimize your own code (optional)

Day 3: Friday, April 28

  • 09.00-09.45 Memory access optimization cont'd

  • 09.45-10.00 Coffee break

  • 10.00-11.00 Exercises

  • 11.00-12.00 Advanced OpenMP

  • 12.00-12.45 Lunch break

  • 12.45-13.45 Exercises

  • 13:45-14:30 OpenMP performance considerations

  • 14.30-14.45 Coffee break

  • 14.45-16.00 Exercises


Lecturers:   Sebastian von Alfthan (CSC), Mikko Byckling (Intel)

Language:  English

Price:          Free of charge

CSC - IT Center for Science
Training room Debatti 1st floor
LIfe Science Center, Keilaranta 14, Espoo, Finland

How to reach us

CSC is located in Keilaniemi, Espoo, 10 km west of the Helsinki City Center. Detailed information is available here.


We recommend choosing a few hotels that are most close to our premises. The nearest hotel is Radisson Blu Espoo, which is in a walking distance (only 500 m) from CSC. Another hotel close to the venue (1,8 km) is Sokos Hotel Tapiola Garden. Other hotels are located in Helsinki' downtown with a frequent and fast bus connection to Keilaniemi. Please note, that there are no special rates for participants at any hotels.

If you have any questions, please click on the support link on the left to send an e-mail to the local organizers.