Module Specification

The information contained in this module specification was correct at the time of publication but may be subject to change, either during the session because of unforeseen circumstances, or following review of the module at the end of the session. Queries about the module should be directed to the member of staff with responsibility for the module.
1. Module Title High Performance Computing
2. Module Code COMP328
3. Year Session 2023-24
4. Originating Department Computer Science
5. Faculty Fac of Science & Engineering
6. Semester Second Semester
7. CATS Level Level 6 FHEQ
8. CATS Value 15
9. Member of staff with responsibility for the module
Mr HJ Forbes Computer Science H.J.Forbes@liverpool.ac.uk
10. Module Moderator
11. Other Contributing Departments  
12. Other Staff Teaching on this Module
Mrs J Birtall School of Electrical Engineering, Electronics and Computer Science Judith.Birtall@liverpool.ac.uk
Dr JD Alcock Computer Science J.D.Alcock@liverpool.ac.uk
13. Board of Studies
14. Mode of Delivery
15. Location Main Liverpool City Campus
    Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other TOTAL
16. Study Hours 23

    18

    41
17.

Private Study

109
18.

TOTAL HOURS

150
 
    Lectures Seminars Tutorials Lab Practicals Fieldwork Placement Other
19. Timetable (if known)            
 
20. Pre-requisites before taking this module (other modules and/or general educational/academic requirements):

COMP201 Software Engineering I; COMP281 Principles of C and Memory Management; COMP122 Object-Oriented Programming
21. Modules for which this module is a pre-requisite:

 
22. Co-requisite modules:

 
23. Linked Modules:

 
24. Programme(s) (including Year of Study) to which this module is available on a mandatory basis:

25. Programme(s) (including Year of Study) to which this module is available on a required basis:

26. Programme(s) (including Year of Study) to which this module is available on an optional basis:

27. Aims
 

1. For students to understand the motivation and opportunities of high performance computing, and to have sufficient understanding of topics in order to use HPC facilities;

2. For students to appreciate challenges of obtaining peak performance and how to tackle such challenges;

 
28. Learning Outcomes
 

(LO1) to gain an appreciation of the needs for parallel computing and High Performance Computing (HPC)

 

(LO2) to be able to read & understand parallel programmes written by others

 

(LO3) to be able to design and implement parallel programmes, using a variety of paradigms, and to run them on a real world HPC facility

 
29. Teaching and Learning Strategies
 

lectures, covering theory and live demo of codes implementing theiry, with interactive assessment periodically to ensure uptake / help focus where more teaching required

hands on labs to back up lectures and to lead in to assessment work

course books and online references will be expected to be read as part of private study time

Standard on-campus delivery
Teaching Method 1 - Lecture
Description: Mix of on-campus/on-line synchronous/asynchronous sessions
Teaching Method 2 - Laboratory Work
Description: On-campus synchronous sessions

 
30. Syllabus
   

The course comprises a mix of lectures and labs during the 12 week teaching. There will be 23 hours of lectures:
• Motivation for HPC, example use cases from industry etc) – 2 lectures
• The use of compiler flags (and limitations) of serial node optimisation – 2 lectures
• Theory of parallelism: opportunities, types of parallelism, barriers to performance and scoping max performance – 4 lectures
• Using parallelised libraries/pre-written applications – 1 lecture
• Using OpenMP for shared memory – 4 lectures
• Introduction to MPI for distributed memory (multi-node) programming – 4 lectures
• Overview of GPU and emerging architectures – 3 lectures
• Work through of assessments – 2 lectures
• Summary/revision – 1 lecture
There will be 18 hours of labs, designed to re-enforce topics from lessons and cover elements useful for the assigned coursework. Labs will make use of the University HPC facilities to give students real world experience. Each lab will be 2 hours long, with lecturer + support, to help maximise learning for all students.

 
31. Recommended Texts
  Reading lists are managed at readinglists.liverpool.ac.uk. Click here to access the reading lists for this module.
 

Assessment

32. EXAM Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
  (328) Final Exam written exam that will test on each learning outcome and cover all key points of the syllabus. 120 70
33. CONTINUOUS Duration Timing
(Semester)
% of
final
mark
Resit/resubmission
opportunity
Penalty for late
submission
Notes
  (328.1) CA1 Assessment hands-on assessment to write an efficient parallel programme to solve a problem that will be defined and explained to the studies, by making use of the university HPC cluster 0 20
  (328.2) CA2 Engagement Tasks The completion of two engagement tasks throughout the module which covers material from Labs. One testing LO1 and the other testing LO2. 0 10