COMP40390 High Performance Heterogeneous Computing

Academic Year 2023/2024

Nowadays, platforms used for high performance computing (HPC) are becoming increasingly complex, hierarchical and heterogeneous. Modern computing nodes include not only multiple cores but also one or more accelerators such as GPUs. Such nodes are connected in clusters, often heterogeneous. Clusters from different sites form hierarchical large-scale infrastructures used for high performance computing.
This module gives the state of the art in the field of parallel computing in such heteroegenous environments. It analyses main challenges of heterogeneous computing and presents how the challenges have been addressed so far.

The main topics covered by the module include:

1) Parallel algorithms for heterogeneous platforms and their implementation.

2) Energy efficient parallel computing on heterogeneous platforms

3) Parallel programming for heterogeneous platforms:
- Programming for heterogeneous hybrid computing nodes intergrating multicore CPUs and accelerators.
- Programming for heterogeneous clusters.

The reading materials for the module:
- A.Lastovetsky and J.Dongarra. High Performance Heterogeneous Computing. Wiley, June 2009.
- Lecture notes

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

- Ability to orient themselves in heterogeneous hardware and related programming issues.

- Familiarity with fundamental heterogeneous parallel algorithms and their applications.

- Basic knowledge of programming models and tools for heterogeneous parallel computing.

- Basic knowledge of energy efficient parallel computing on heterogeneous platforms.

Indicative Module Content:

1) Parallel algorithms for heterogeneous platforms and their implementation.
2) Energy efficient parallel computing on heterogeneous platforms
3) Parallel programming for heterogeneous platforms:
- Programming for heterogeneous hybrid computing nodes integrating multicore CPUs and accelerators.
- Programming for heterogeneous clusters.

Student Effort Hours: 
Student Effort Type Hours
Lectures

24

Tutorial

12

Computer Aided Lab

12

Autonomous Student Learning

72

Total

120

Approaches to Teaching and Learning:
This module is mainly theoretical requiring some level of fluency in mathematical modelling and in basics of numerical linear algebra (mainly, matrix multiplication). The material will be covered and discussed at lecture sessions. Some components will be presented by students and critically discussed in the class. 
Requirements, Exclusions and Recommendations
Learning Recommendations:

A basic course on parallel and distributed computing (such as COMP 30250 Parallel and Cluster Computing)


Module Requisites and Incompatibles
Not applicable to this module.
 
Assessment Strategy  
Description Timing Open Book Exam Component Scale Must Pass Component % of Final Grade
Examination: final examination 2 hour End of Trimester Exam No Standard conversion grade scale 40% Yes

100


Carry forward of passed components
No
 
Remediation Type Remediation Timing
In-Module Resit Prior to relevant Programme Exam Board
Please see Student Jargon Buster for more information about remediation types and timing. 
Feedback Strategy/Strategies

• Feedback individually to students, on an activity or draft prior to summative assessment
• Peer review activities

How will my Feedback be Delivered?

This is an interactive small-class module. The students will be asked questions and given simple problems during classes. Some material will be also presented by students and discussed during the presentations.

Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
 
Spring
     
Lecture Offering 1 Week(s) - 20, 21, 22, 23, 24, 25, 26, 30, 31, 32, 33 Fri 15:00 - 16:50