As part of the HAI-End project, Durham University has developed this set of revision materials to support training events on performance analysis in high-performance computing. These mini-lectures are designed to help participants quickly revisit essential terminology and foundational concepts whenever needed, ensuring that everyone remains on the same page during workshops and practical sessions.
You are encouraged to explore these lectures and accompanying exercises to deepen your understanding of key topics such as the von Neumann architecture, cache memory, vectorisation, Flynn's Taxononomy, MPI, GPUs, the Roofline model, shared memory parallel paradigms, and both strong and weak scaling.
This course is designed to be flexible, allowing you to build your own personalised learning pathway. You may start from any topic of interest. Based on your choice, the knowledge graph available will recommend prerequisite sessions you should be familiar with, as well as suggest subsequent sessions to continue your learning journey effectively.
By engaging with this content, you will strengthen your grasp of these fundamental building blocks, enabling a clearer and more comprehensive context for analysing the performance of your code.