Skip to main content
 

COMP52315: Performance Modelling, Vectorisation and GPU Programming

Type Tied
Level 5
Credits 15
Availability Available in 2025/2026
Module Cap None.
Location Durham
Department Computer Science

Prerequisites

  • PHYS52015 Introduction to Scientific and High Performance Computing

Corequisites

  • None

Excluded Combinations of Modules

  • n/a

Aims

  • Provide advanced knowledge and critical understanding of paradigms, fundamental ideas, algorithms and methods of program performance analysis, modelling and engineering
  • Provide advanced knowledge and critical understanding of low-level code optimisation paradigms, and how they may be applied in real-world scenarios

Content

  • Performance modelling and engineering
  • Vectorisation and low-level code optimisation
  • GPU programming

Learning Outcomes

Subject-specific Knowledge:

  • By the end of this module, students should have:
  • an understanding and critical reflection of advanced ideas and techniques behind the performance analysis of scientific computing and data analysis codes
  • an understanding of modern computer architectures, and how to design and implement codes to perform optimally on this hardware

Subject-specific Skills:

  • By the end of this module, student should:
  • have basic familiarity with state-of-the-art algorithms to solve large-scale and data intense challenges
  • be able to make competent and educated selection and statements on potential performance of specific codes plus skills to improve existing solutions

Key Skills:

  • Familiarity with advanced paradigms and modern algorithms underlying scientific computing for discrete systems, and their analysis
  • Familiarity with programming paradigms for modern wide-vector CPUs, and GPUs

Modes of Teaching, Learning and Assessment and how these contribute to the learning outcomes of the module

  • Teaching will be by computer classes.
  • The computer classes will provide the means to give a concise, focused presentation of the subject matter of the module and where appropriate, will also be supported by the distribution of written material, or by information and relevant links on Ultra.
  • Students will also be given the chance to develop their theoretical understanding and problem solving skills through regular problem exercises delivered within the module teaching sessions.
  • Students will be able to obtain further help in their studies by approaching their lecturers, either after teaching sessions or at other mutually convenient times.
  • Student performance will be summatively assessed through coursework. The assignment consists of a coding exercise with accompanying report.
  • The formative exercises provide opportunities for feedback, for students to gauge their progress and for staff to monitor progress throughout the duration of the module.

Teaching Methods and Learning Hours

ActivityNumberFrequencyDurationTotalMonitored
Computer Classes162 per week2 hours32 
Preparation and Reading118 
Total150 

Summative Assessment

Component: CourseworkComponent Weighting: 100%
ElementLength / DurationElement WeightingResit Opportunity
Assignment3 weeks100

Formative Assessment

n/a

More information

If you have a question about Durham's modular degree programmes, please visit our Help page. If you have a question about modular programmes that is not covered by the Help page, or a query about the on-line Postgraduate Module Handbook, please contact us.

Prospective Students: If you have a query about a specific module or degree programme, please Ask Us.

Current Students: Please contact your department.