Published March 19, 2026 | Version 1.0
Poster Open

The Art of the Exercise: Development of Parallel Programming Examples for EPCC Courses

Authors/Creators

  • 1. EPCC, The University of Edinburgh

Description

Many HPC training courses have associated practical examples, either distributed as working source code for students to compile and run or given as exercises for students to practice writing parallel programs. Designing a good exercise can be challenging as it needs to: be straightforward enough to complete in a reasonable time but complicated enough to illustrate real HPC techniques; be simple enough to explain but be relevant to genuine applications in computational science; produce output that is interesting and engaging but which clearly shows any runtime bugs; scalable to a range of problem sizes to illustrate parallel performance characteristics.

Over the years we have used examples from a wide range of areas including cellular automata, image processing, pollution transport via convection-diffusion, predator-prey simulation, percolation of oil through rock, fluid dynamics and sandpile modelling. Despite the wide range of application areas these have all shared the same core characteristic of using a 2D regular grid with nearest-neigbour interactions, e.g. “up, down, left, right minus four times the middle”.

In this poster we will explain why this is such a good core computational pattern to use for training exercises, and give the various pros and cons of each particular example. I will also explain why I think the recently developed sandpile simulation is my best example so far, and show the winner from a recent student competition to develop the best sandpile visualisation.

Files

CoS2026poster.pdf

Files (1.1 MB)

Name Size Download all
md5:a49263c6a3688662cb355fcf62fb24d4
1.1 MB Preview Download