Skip to main content Skip to navigation

CS922-15 High Performance Computing

Department
Computer Science
Level
Taught Postgraduate Level
Module leader
Ligang He
Credit value
15
Module duration
10 weeks
Assessment
Multiple
Study location
University of Warwick main campus, Coventry

Introductory description

This module provides a comprehensive understanding of High-Performance Computing (HPC) as a core enabling technology for modern scientific and engineering applications.

Module web page

Module aims

This module provides students with a comprehensive understanding of High-Performance Computing (HPC) as a core enabling technology for modern scientific and engineering applications. It introduces the motivation for parallel computing, numerical simulation, floating-point arithmetic, and performance limits, before developing fundamental concepts of parallelism through established models and laws. The module explores the architectures of contemporary multicore CPUs, GPUs, and distributed systems, and the parallel programming paradigms they support, including shared-memory, accelerator, and message-passing approaches. Students gain practical experience with industry-standard programming models and tools, and learn how to analyse, model, and optimise application performance using scalable performance engineering techniques. The module also addresses parallel I/O, software development practices, libraries, performance, portability, and emerging trends in HPC, preparing students to design, implement, and evaluate efficient parallel applications on modern and future high-performance systems.

Outline syllabus

This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.

  • Fundamental concepts in High Performance Computing.
  • Models of Parallel programming
  • Shared memory programming (OpenMP).
  • Message passing programming (MPI).
  • GPU/Accelerator programming.
  • Parallel decomposition.
  • Performance measurement and analysis.
  • High performance I/O.
  • High performance networking.
  • State-of-the-art issues and latest developments

Learning outcomes

By the end of the module, students should be able to:

  • Understand the role of HPC in science and engineering.
  • Gain experience with popular parallel programming paradigms.
  • 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 commonly used HPC platforms including hardware and software systems.

Indicative reading list

Reading lists can be found in Talis

Specific reading list for the module

Subject specific skills

Analytical skills by applying the HPC knowledge learned in this module to develop HPC applications and analyzing their performance, mathematical thinking skills by linking rigor in performance modelling with the design of parallelization strategies, problem solving and IT skills by applying the learned knowledge to do practical lab sessions and the coursework; presentation and communication skills by writing the report of presenting the practical work conducted in the coursework and discussing the experimental results; critical thinking skills by analyzing and comparing the pros and cons of different HPC solutions.

Transferable skills

Communication and presentation skills

Study time

Type Required
Lectures 20 sessions of 1 hour (13%)
Practical classes 10 sessions of 1 hour (7%)
Private study 120 hours (80%)
Total 150 hours

Private study description

  • Private study for comprehending the teaching contents.
  • Reading further materials given in the lectures.
  • Independent studies for doing the practical lab sessions.
  • Private studies for doing the coursework.
  • Revision for the final exam.

Costs

No further costs have been identified for this module.

You do not need to pass all assessment components to pass the module.

Students can register for this module without taking any assessment.

Assessment group D2
Weighting Study time Eligible for self-certification
Coursework 40% No

Develop parallel application(s) using popular/latest parallel programming models. Benchmark and analyze the runtime of the code(s). Write a report to present the development and benchmarking work, and present and discuss the experimental results.

Unsupervised practical assignments. This assignment is worth more than 3 CATS and is not, therefore, eligible for self-certification.

Centrally-timetabled examination (On-campus) 60% No

CS922 examination


  • Answerbook Pink (12 page)
  • Students may use a calculator
Assessment group R2
Weighting Study time Eligible for self-certification
In-person Examination - Resit 100% No

CS922 resit examination


  • Answerbook Pink (12 page)
  • Students may use a calculator
Feedback on assessment

Individual written feedback on Assessed Coursework. Oral feedback where appropriate, e.g. for presentations.

Past exam papers for CS922

Courses

This module is Optional for:

  • TCSA-G5PD Postgraduate Taught Computer Science
    • Year 1 of G5PD Computer Science
    • Year 1 of G5PG Computer Science with specialism in Artificial Intelligence and Machine Learning
    • Year 1 of G5PH Computer Science with specialism in Cyber Security
    • Year 1 of G5PI Computer Science with specialism in Data Analytics
  • Year 1 of TCSA-G5PA Postgraduate Taught Data Analytics