Date: 26 - 28 April 2017

Description

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

Prerequisites

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

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

https://events.prace-ri.eu/event/613/

Event types:

  • Workshops and courses


Activity log