Students who successfully complete the course should be able to:
Outline the operation of key components in a HPC system.
Identify and analyse in detail how a specific code interacts with these components and how this impacts the performance of the code.
Write code that maximizes the performance of the system.
Write code that interacts with the system to modify its behaviour
Design a HPC system that is balanced between the subsystems
Structure and Content
In this course we examine the underlying hardware and system software that impacts the performance of your code. Through a detailed examination of the operation of CPUs, memory, storage, networks and operation systems, you will learn how to tailor your code for a given computer architecture and also to design complex HPC systems from these components.
20% continuously assessed programming assignments. 80% written exam (April/May)