Handbook home
Applied High Performance Computing (MCEN90031)
Graduate courseworkPoints: 12.5On Campus (Parkville)
About this subject
Contact information
Winter Term
Cat Vreugdenhil
Overview
| Availability | Winter Term - On Campus |
|---|---|
| Fees | Look up fees |
The use of physics-based computer simulation is a powerful tool in the scientific and engineering fields that allows for the investigation of phenomena that are often inaccessible by other means. As modern compute architectures continue to increase in terms of parallelism and power, so too can these simulations increase in scale and fidelity, but only when equipped with an understanding of the mathematics and underlying hardware, necessary to leverage this power. This subject will aim to develop such an understanding by tying together key tools and techniques used in the design of scientific software targeted at High Performance Computing (HPC) resources.
This subject will introduce several numerical methods that are ubiquitous in the solution of ordinary differential equations (e.g. Euler and Runge-Kutta methods), partial differential equations (e.g. finite difference and finite element methods), linear systems (e.g. conjugate gradient method), and apply these tools to solve governing equations commonly found in areas such as fluid dynamics and thermodynamics. This subject will investigate the development of software targeting shared memory multicore architectures, distributed memory architectures with MPI, and GPU accelerators.
Intended learning outcomes
Having completed this subject the student is expected to:
- Be able to analyse when and how parallelism can be exploited in an algorithm and determine the appropriate approach for implementation
- Be able to apply an appropriate numerical method to solve a partial differential equation and write a program implementing this method
- Be able to apply basic foundational knowledge of the Application Programming Interfaces (APIs) provided by a range tools such as MPI
- Be able to compile programs and execute jobs on the University of Melbourne's HPC resource Spartan or similar HPC resource
- Be able to conduct experiments or studies in order to test numerical methods and code efficiencies
- Be able to effectively communicate (in oral, written and other forms as appropriate) analyses and processes in HPC
Generic skills
- An understanding of the changing knowledge base
- Well-developed problem-solving abilities, characterised by flexibility of approach
- A capacity to articulate their knowledge and understanding in oral and written forms of communications
- Working skills in the application and a receptiveness to the opportunities offered by new technologies
Last updated: 19 November 2025