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.
- 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.
- 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