CE816: High-Performance Computing

Schedule of Activities

Lectures: Friday 10:00–12:00, 5N.4.8
Laboratories: Monday 13:00–15:00, CSEE Lab 8

Note that the laboratory sessions start in week 3, the second week of term.


  1. Introduction

  2. Linux, Compiling
    Coverage paper, Python code, C code

  3. Numerical computing

  4. Cluster computing

  5. MPI, the Message Passing Interface

  6. More MPI

  7. Predicting Performance

  8. Parallel matrix multiplication

  9. OpenCL
    Makefile (save as Makefile)
    add_numbers program (save as add_numbers.c)
    add_numbers kernel (save as add_numbers.cl)
  10. A paper on N-body simulations such as galaxy modelling
    A print-out of a website looking into image convolution using OpenCL

Further reading

There are a few books in the Library that you might find useful. Ones that I found most relevant are:


The laboratory sessions give you an opportunity to put some of the ideas discussed in lectures into practice, by working through two pieces of coursework.

  1. Building a cluster — see also some guidelines on writing reports
  2. Distributed computing using MPI and a zip-file containing the program and data
    [Booking form]

Revision aids

An example exam paper. If you would like to go through your answers to the questions, or you are struggling to answer them, please make an appointment to see me.

Last updated on 2014-10-02 09:53:04 Web pages maintained by Adrian F. Clark [contact]