|Fees||Look up fees|
With the ever increasing power of modern computers, the use of computer simulation is becoming more common in engineering practice. This course will introduce topics in high performance computing through a number of applications in science and engineering, including problems in linear algebra, partial differential equations (e.g. computational fluid dynamics), molecular dynamics, and agent based modelling. These applications will necessitate the inclusion of some theory regarding numerical methods for ordinary and partial differential equations (e.g. finite difference and finite element methods), but the key focus of the course will be on how large scale problems can be decomposed onto supercomputing architectures and introducing aspects of large scale visualization.
This course will include study of various numerical methods used in engineering practice and how these applied to solving computational problems and hence programmed for execution on a supercomputer. The course will include both the higher level mathematics as well as practical issues associated with using a supercomputer.
Intended learning outcomes
INTENDED LEARNING OUTCOMES (ILO)
Having completed this subject the student is expected to be able to -
- Determine the complexity of a given parallel algorithm
- Determine the appropriate architecture for a particular problem and implement code to decompose the problem
- Develop numerical methods for solving ordinary and partial differential equations
- Implement software for shared memory multi-core systems with the OpenMP application programming interface
- Implement software for distributed memory supercomputers with MPI application programming interface.
- Ability to apply knowledge of basic science and engineering fundamentals
- Ability to undertake problem identification, formulation and solution
- Capacity for independent critical thought, rational inquiry and self-directed learning.
Last updated: 3 November 2022