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.
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.
Pre-requisites
AERO50003 Computing and Numerical Methods 2
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 and demonstrations. 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 computing tutorial problems.
Additional opportunities are provided for you to self-assess your learning via programming exercises.
Summative Assessment takes the form of in-class tests and a final piece of coursework at the end of the module.
Assessment type | Assessment description | Weighting | Pass mark |
Examination | In-class test | 25% | 50% |
Coursework | Programming coursework | 75% | 50% |
You will receive feedback both during the hands-on computing laboratory sessions and following the in-class progress tests and coursework submission.
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.