High Performance Computing - PHY00012M
- Department: Physics
- Credit value: 10 credits
- Credit level: M
- Academic year of delivery: 2022-23
Module will run
Occurrence | Teaching period |
---|---|
A | Autumn Term 2022-23 |
Module aims
The aim of this module is to introduce you to the key ideas of High Performance Computing (HPC) in physics. it will show how the historical developments in HPC have come about, how these impact on current technologies, how best to utilize these technologies for numerically intensive calculations, and what future developments are likely.
This module presumes that you already have a basic programming ability in (at least one of) Fortran or C or C++. We will NOT be teaching the basics of programming - this is a practical module in which your programming skills will be developed with a focus on speed of execution, both in serial and parallel programming.
Module learning outcomes
At the end of this module successful students will be able to:
- Describe the different types of HPC hardware and make informed decisions as to what will be best in any particular situation
- Use simple profiling tools to identify hotspots in a code and develop strategies for overcoming the hotspots
- Design efficient coding solutions to a variety of numerical problems
- Create a parallel program for an MP machine using message-passing techniques
Module content
Hardware
- Introduction to hardware for a typical computer
- Introduction to networks
Software
- Benchmarking
- Computer languages
- Floating point numbers
- Introduction to programming
- Use of tools in programming
- Use of software profiling
Coding
- Optimizing a serial program
- Introduction to parallel programming - how to think parallel
- Writing a parallel program using OpenMP
- Introduction to GPU programming
- Writing a parallel program using MPI
- Example applications
Summary
- Current state-of- the-art supercomputers
- Future possibilities
Indicative assessment
Task | % of module mark |
---|---|
Essay/coursework | 24 |
Essay/coursework | 76 |
Special assessment rules
None
Additional assessment information
The module will be assessed by practical challenges and by an assignment set at the end of Term 1. The practical challenges enable you to practise the different skills required to successfully complete the assignment. The major component of the assignment will require writing and testing a parallel program to solve a particular set problem.
Indicative reassessment
Task | % of module mark |
---|---|
Essay/coursework | 76 |
Module feedback
Our policy on how you receive feedback for formative and summative purposes is contained in our Department Handbook.
Indicative reading
For each lecture, students will be provided with a complete set of handouts and students will be expected to annotate these with additional comments arising from the lecture. Full colour copies of the notes will also be available on-line after each lecture.
Introduction to High Performance Computing for Scientists and Engineers by Georg Hager and Gerhard Wellein (Chapman and Hall / CRC 2010) **
Writing Scientific Software: A Guide to Good Style by S. Oliveira and D.E. Stewart