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!
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
Please ensure that you able able to program in FORTRAN under a Linux environment. Some useful links:
- FORTRAN - will be used for all examples
- Writing and running programs in a Linux environment eg see
- Top Ten UNIX Commands
The following materials are licensed by High End Compute under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
- OpenMP - the basics
- OpenMP - tasks and accelerators
- Performance Analysis
- exercise and some worked example solutions - available via the "HEC Image for Parallel Programming" (HIPP)