Unit name | An Introduction to High Performance Computing |
---|---|
Unit code | COMS30005 |
Credit points | 10 |
Level of study | H/6 |
Teaching block(s) |
Teaching Block 1 (weeks 1 - 12) |
Unit director | Professor. McIntosh-Smith |
Open unit status | Not open |
Pre-requisites |
Assumes students are competent C programmers. This unit will not be appropriate for novice programmers, or students unfamiliar with C. |
Co-requisites |
None |
School/department | Department of Computer Science |
Faculty | Faculty of Engineering |
The aim of this unit is to introduce and explore technologies relating to high performance computing, and to offer practical hands-on use of and experience with said technologies. Students completing the unit should have had an opportunity to integrate content from other units in the programme, for example implementing high performance parallel versions of algorithms previously encountered. Students will be exposed to the underlying trends in computer hardware that are driving development towards massive parallelism in hardware and software. They will also use mainstream parallel programming languages and tools, such as OpenMP, MPI, debuggers and profilers, all in the context of a real supercomputer environment: the university’s Blue Crystal cluster.
On successful completion of this unit, students will be able to:
Specific learning outcomes will be tackled through focused coursework activities, including:
Delivery via lectures (2 hours per week) and active learning labs (2 hours per week).
100% coursework assessed, two assignments one with 33% weighting, the other with 67% weighting. Assignments will be to write optimised parallel code using mainstream parallel programming languages, such as OpenMP and MPI. Working source code must be submitted, along with a good quality report describing what the student did (2-3 pages per report).