Skip to main content Skip to navigation

CS402 High Performance Computing

CS402-15 High Performance Computing

Academic year
23/24
Department
Computer Science
Level
Undergraduate Level 4
Module leader
Ligang He
Credit value
15
Module duration
10 weeks
Assessment
Multiple
Study location
University of Warwick main campus, Coventry
Introductory description

The module provides a solid foundation in High Performance Computing (HPC) and its role in science and engineering.

Module aims

The module provides a solid foundation in High Performance Computing (HPC) and its role in science and engineering. The aim of the module is to study the fundamental techniques for developing HPC applications, the commonly used HPC platforms, the methods for measuring, assessing and analysing the performance of HPC applications, and the role of administration, workload and resource management in an HPC management software. The students will be introduced to the issues related to the use of HPC techniques in solving large scientific problems.

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.
  • 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.
Learning outcomes

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

  • 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 role of administration, workload and resource management in an HPC management software.
  • Understand the mechanisms for evaluating the suitability of different HPC solutions to solving scientific problems.
Indicative reading list

Suggested Reading:
Peter Pacheco, Introduction to Parallel Programming, Morgan Kaufmann Publishers, 2011;
Michael J. Quinn, Parallel programming in C with MPI and OpenMP, McGraw-Hill Higher Education, 2004;
William Gropp, Using MPI: portable parallel programming with the message-passing interface, MIT press, 1999;
Further reading: Introduce the Graph 500;
Further Reading: A Note on the Zipf Distribution of Top500 Supercomputers;
Further Reading: Vectorizing C Compilers - How Good Are They?;
Further Reading: Further Reading in High Performance Compilers for Parallel Computing;

Subject specific skills

analytical skills by applying the HPC knowledge learned in this module to develop HPC applications and analyzing their performance, mathmatical 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 sesssions and the courseworks; presentation and communication skills by writing the report of presenting the practical work conducted in the courseworks 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 D4
Weighting Study time
Coursework 1 10%
  • Develop a parallel application with OpenMP.
  • Benchmark and analyze the runtime of the code.
  • Write a report to present the development and benchmarking work, and present and discuss the experimental results.
Coursework 2 20%
  • Develop a parallel application in the area of computational fluid dynamics with the pure MPI model and with the hybrid approach combining MPI and OpenMP.
  • Benchmark and analyze the runtime of the developed code.
  • Write a report to present the development and benchmarking work, and present and discuss the experimental results.
In-person Examination 70%

CS402 examination


  • Answerbook Pink (12 page)
  • Students may use a calculator
Assessment group R1
Weighting Study time
In-person Examination - Resit 100%

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

Pre-requisites

MEng students must have studied the material in CS132.

Courses

This module is Optional for:

  • Year 5 of UCSA-G504 MEng Computer Science (with intercalated year)
  • Year 1 of TCSA-G5PD Postgraduate Taught Computer Science
  • Year 1 of TCSA-G5PB Postgraduate Taught Data Analytics (CUSP)
  • UCSA-G503 Undergraduate Computer Science MEng
    • Year 4 of G503 Computer Science MEng
    • Year 4 of G503 Computer Science MEng
  • Year 4 of USTA-G1G3 Undergraduate Mathematics and Statistics (BSc MMathStat)
  • Year 5 of USTA-G1G4 Undergraduate Mathematics and Statistics (BSc MMathStat) (with Intercalated Year)

This module is Option list A for:

  • Year 4 of UCSA-G408 Undergraduate Computer Systems Engineering
  • Year 5 of UCSA-G409 Undergraduate Computer Systems Engineering (with Intercalated Year)
  • Year 4 of USTA-G304 Undergraduate Data Science (MSci)

This module is Option list B for:

  • Year 5 of UCSA-G504 MEng Computer Science (with intercalated year)
  • UCSA-G503 Undergraduate Computer Science MEng
    • Year 4 of G503 Computer Science MEng
    • Year 4 of G503 Computer Science MEng
  • Year 4 of UCSA-G4G3 Undergraduate Discrete Mathematics
  • Year 5 of UCSA-G4G4 Undergraduate Discrete Mathematics (with Intercalated Year)

Further Information

Term 2

15 CATS (7.5 ECTS)

Online Material

Module Organisers:
Ligang He
Richard Kirk