The module descriptors for our undergraduate courses can be found below:

  • Four year Aeronautical Engineering degree (H401)
  • Four year Aeronautical Engineering with a Year Abroad stream (H410)

Students on our H420 programme follow the same programme as the H401 spending fourth year in industry.

The descriptors for all programmes are the same (including H411).

H401

High-Performance Computing

Module aims

This module provides you with an introduction to parallel programming using C++, as well as covering the use of software engineering tools and best practices, such as debuggers, unit testing and version control. MSc students wishing to complete this module must have completed self-study of the C++ pre-sessional materials provided.

Learning outcomes

On successfully completing this module, you should be able to:
1. Effectively use a profiler to optimise the performance of code;
2. Demonstrate understanding of how to use the BLAS and LAPACK routines by applying them to solve systems of equations numerically;
3. Appraise the advantages and disadvantages of shared and distributed memory parallelisation;
4. Formulate numerical algorithms using one or both of the parallelisation paradigms;
5. Use a job submission system to run codes on a modern HPC system.

Module syllabus

Computer architecture and optimisation of C++ code.
Use of development tools including debuggers, version control and profilers.
Numerical linear algebra using BLAS and LAPACK.
Shared memory and distributed memory parallel programming paradigms.
Parallel programming using OpenMP.
Parallel programming using the Message Passing Interface (MPI).
Job submission on cluster computers.

Teaching methods

The module will be delivered primarily through in-class demonstrations introducing the key concepts and methods, supported by a variety of delivery methods combining the traditional and the technological. The content is presented via a combination of slides, whiteboard and visualizer.

Learning will be reinforced through hands-on computational lab sessions.  

Assessments

This module presents opportunities both for formative and summative assessment.
You will be formatively assessed through a number of progress tests and tutorial sessions.
Additional opportunities are provided for you to self-assess your learning via tutorial problem sheets.
Summative Assessment takes the form of an in-class test and a final piece of coursework at the end of the module.
The combined in-class tests are a must pass component and a reassessment will be offered if the average is below 50%.
If the module is failed, the typical reassessment offered will be a resubmission of the coursework.
Assessment type Assessment description Weighting Pass mark
Examination In-class tests 25% 50%
Coursework Programming coursework 75% 50%
You will receive feedback both during the hands-on computing laboratory sessions and following the coursework submission.
You will receive feedback on examinations in the form of an examination feedback report on the performance of the entire cohort.
You will receive feedback on your performance whilst undertaking tutorial exercises, during which you will also receive instruction on the correct solution to tutorial problems.
Further individual feedback will be available to you on request via this module’s online feedback forum, through staff office hours and discussions with tutors.

Reading list

Module leaders

Dr Chris Cantwell