High-Performance Parallel & Distributed Systems - COM00174M
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 and apply 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 IO.
-
Be able to reason about and demonstrate 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