See module specification for other years:
2022-232023-24
Module summary
This module introduces and explores the use of high-performance computing, and related technologies.
Module will run
Occurrence
Teaching period
A
Semester 1 2024-25
Module aims
This module introduces and explores the use of HPC and related technologies, covering on and off node parallelism, accelerators, and memory management. Students will understand the increasingly important role that HPC plays in science and engineering. Throughout the module, students will practice by developing programs using a range of parallel programming paradigms like OpenMP and MPI.
Module learning outcomes
Demonstrate the development of parallel programs on shared memory systems using popular programming paradigms.
Be able to understand appropriate metrics to assess the performance of applications and systems.
Demonstrate the development of parallel programs on distributed memory systems using appropriate parallel programming libraries.
Be able to explore the design space afforded by parallel and distributed systems, including issues of GPU programming, high-speed networking, and I/O.
Be able to reason about the performance, portability, and productivity of different approaches to developing HPC applications.
Indicative assessment
Task
% of module mark
Essay/coursework
100
Special assessment rules
None
Indicative reassessment
Task
% of module mark
Essay/coursework
100
Module feedback
Feedback is provided through work in practical sessions, and after the final assessment as per normal University guidelines.
Indicative reading
Introduction to High Performance Scientific Computing, Eijkhout, Victor; van de Geijn, Robert; Chow, Edmond