Learning how to parallelise code and exploit emerging computing hardware

NERC logo
This is the course web portal for the NERC funded course, organised by Dr. Dave Topping with support by High End Compute

Course Promo

Do you have a code you wish would run faster?

Do you know how and where you might be able to achieve this?

In environmental science we constantly measure and hypothesis new processes deemed important to improve our understanding. Similarly we want to study processes at increasingly finer resolution. As a result, our modelling tools are becoming more complex and computationally expensive. In order to tackle the emerging problems in environmental science we must ensure our modelling tools can fully exploit existing and emerging hardware made available to us. This course will help achieve that goal. It is designed to impart self-sustainable and 'forward thinking' parallel programming skill sets into you, the next generation of NERC researchers, via a dynamic training environment with both physical and virtual elements.

On completion of the course you will:

  • understand the principles of parallel programming, and its appropriate application
  • have a wide-ranging understanding of different approaches to parallel programming.
  • have the skills to analyse existing code & understand how to exploit potential parallelisation
  • appreciate how multicore programming can accelerate code and support running models of increasing process complexity in a manageable time-to-solution.

The course focus was a 3 day workshop in Manchester (31/10-02/11 2016), with hands on exercises and plenty of opportunity to apply your new skills to your own problems. The course also included provision of training materials via a virtual learning environment in advance of the workshop, as well as a series of follow up video conferencing sessions with the course tutors to discuss any questions, ideas or issues from applying the workshop materials to your own codes.

This training portal comprises interactive online training materials, comprehensive links to manuals &further information on the topics, some initial worked examples, and info on how to apply for time on Archer.

We are also finalising a disk image (ISO for importing in to your VM software, or booting the image directly) with the course materials, solutions to the exercises and with the software stack required to compile and run parallel codes.

This site will remain ‘live’ for 6 months (April2017) and, whilst supporting the hands on element, is available to all NERC students!

Required Pre-reading
You are required to work through the interactive VLE on "why bother with parallel?" and to take a quick look at the 10 minute video we produced giving a high level introduction to OpenMP. (You will not be expected to follow in detail the use of VTune that forms the second part of the video.)

The first of the above materials is licensed by High End Compute under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
Creative Commons License

Please ensure that you able able to program in FORTRAN under a Linux environment. Some useful links:

Course Materials

The following materials are licensed by High End Compute under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
Creative Commons License

Useful references