This module introduces and explores the use of high-performance computing, and related technologies.
Occurrence | Teaching period |
---|---|
A | Semester 1 2024-25 |
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.
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.
Task | % of module mark |
---|---|
Essay/coursework | 100 |
None
Task | % of module mark |
---|---|
Essay/coursework | 100 |
Feedback is provided through work in practical sessions, and after the final assessment as per normal University guidelines.
Introduction to High Performance Scientific Computing, Eijkhout, Victor; van de Geijn, Robert; Chow, Edmond