Please read our student and staff community guidance on COVID-19
Skip to main content Skip to navigation

CS402 High Performance Computing

CS402 15 CATS (7.5 ECTS) Term 2

Availability

Option - MEng CS and DM, MSc High-End Scientific Computing, MSc Computer Science, MSc Data Analytics

Academic Aims

The module provides a solid foundation in High Performance Computing (HPC) and its role in science and engineering. After introducing the major scientific application areas and basic concepts of parallel computing, it outlines the hardware design of modern HPC platforms and the parallel programming models that they support. The principal methods of measuring and characterising application and hardware performance are then covered, with particular reference to complex scientific- and business-based HPC codes. The final topic is the Computational Grid, where the fundamental issues of administration, scheduling, code portability and data management are explored.

Learning Outcomes

At the end of the module, a student will have an understanding of

  • Understand the role of HPC in science and engineering.
  • Be familiar with popular parallel programming paradigms.
  • Understand commonly used HPC platforms with particular reference to Cluster system.
  • Understand the means by which to measure, assess and analyse the performance of HPC applications.
  • Understand the mechanisms for evaluating the suitability of different HPC solutions to solving scientific problems.
  • Understand the role of administration, workload and resource management in an HPC management software.

Content

  • Fundamental concepts in High Performance Computing
  • Shared memory programming (OpenMP)
  • Message passing programming (MPI)
  • GPU programming
  • Parallel decomposition
  • Performance measurement and analysis
  • High performance I/O
  • High performance networking
  • High Performance Computing systems
  • Typical scientific applications

Suggested Reading

Assessment

Two hour examination (70%) One assignment including a programming and analysis exercise (30%)

Teaching

20 one-hour lectures, 10 one-hour lab sessions.