Skip to main content Skip to navigation

Parallelism Primer

Slides, notes and video lecture for our "Parallelism Primer" course. This describes the various methods and strategies for parallelism (running on more than one processor), their strengths and weaknesses and a bit about how they are used. We assume basic programming knowledge and some examples use specific languages - most of them should be understandable without specific knowledge. After this course, you will know about the options for running code on multiple processors and know about the challenges of doing it in practice.


Part 1 - Introduction and Analogies (No update needed for Dec 2021)

Part 2 - Parallel Programming Concepts (Updated for Dec 2021)

Part 3 - Technologies and Strategies (Updated for Dec 2021)

Video Lecture

The following link is a recording of the workshop from March 2020 

USE THIS LINK FOR CURRENT SESSION This link is to the 14/December 2021 livestream


Lecture notes covering the material on the slides. If you require larger fonts or colour modifications, please do email rse{@} and we'll try to assist.

Example Code

Github repo of examples

Livestream Instructions (December 2021)

For convenience, this course will be run as a live stream with discussion sessions

Live stream link:

Comments are enabled for this stream - you will need a YouTube account (or other Google account) if you wish to comment and the stream is NOT private - take care with identifying information! We will try and answer all comments ASAP. If you have any trouble commenting for any reason, we'll monitor email too.

We plan to have an afternoon assistance session via video conference. The link for this will be available here on the day, and also available in the livestream.