Please read our student and staff community guidance on COVID-19
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

Part 2 - Parallel Programming Concepts

Part 3 - Technologies and Strategies

Video Lecture

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


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 (March 2020)

Due to current University policy, this workshop will be given via live stream for the March 18th 2020 date. We plan to start at 10am and end at 4pm as expected, with breaks and a lunch break. Please excuse any bugs in the process, as this is a trial run at somewhat short notice.

Live stream link: (now links to the stream as recorded)

Comments are enabled for this stream - you will need a YouTube account (or other Google account) 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.

For breaks, and for the afternoon assistance session, we plan to use online Video Conferencing. We'll announce the url for this via the stream/email at the time. You should have received the password for this call by email. This stream should be private, but do take the usual care about identifying information.