View on GitHub

Code-optimization

Repository for participants of the "Code optimization" training

In High Performance Computing, performance is a major consideration. Hence it is important to understand the hardware and software properties that influence the performance of your applications. Although this is relevant for software developers, it is also useful for application users who want to understand the performance characteristics of the software they use.

Learning outcomes

When you complete this training you will be able to

Schedule

Total duration: 7 hours, split over two sessions.

Subject Duration
introduction and motivation 5 min.
performance scaling and scaling laws 45 min.
computer architecture: memory 60 min.
coffee break 10 min.
computer architectore: vectorization 30 min.
profiling 70 min.
feedback-guided optimization 10 min.
conclusions and wrap-up 10 min.

Training materials

Slides are available in the GitHub repository, as well as example code and hands-on material.

Target audience

This training is for you if you want to develop code that efficiently uses HPC compute infrastructure, or want to tune the parameters of your application for efficiency.

Prerequisites

You will need experience programming in some programming language.

If you plan to do code optimization in a Linux or HPC environment you should be familiar with these as well.

Trainer(s)