This course aims to introduce the principles of high performance computing (HPC) systems, how they operate, and how we can utilise the computing power they can offer to model complex systems.

This will start with a discussion of supercomputers (HPC systems), their purpose, hardware, and trends in computing. We will then cover material on the fundamentals of modern computers and how we can perform computations in parallel. This will lead into a discussion of how supercomputers derive their performance, and how distributed memory architecture is used in HPC systems.

We will run through a concrete simulation example, discussing the details of the problem and how it can be modelled on a computer. We will then detail how parallel programming can be applied to problems to speed up a calculation, before discussing performance in parallel programs. Finally we will discuss how simulations are developed and used to make predictions, and some real world examples.

Access to ARCHER2 is provided for participants to build and run the exercises.


To take part in the exercises you will need:

Participants must have access to a laptop with a Mac, Linux, or Windows operating system (not a tablet, Chromebook, etc.) that they have administrative privileges on.

They are also required to abide by the ARCHER2 Code of Conduct.