Course Content
Course structure
This is a 3-day course, with the first day being an introduction / refresher course for those with little or no knowledge of OpenMP. While we would encourage participants to attend all 3 days of the course, those who already have some experience or who have recently taken a basic OpenMP course (such as at the recent Autumn Academy in Cambridge) may wish to attend only days 2 and 3.
Practical examples will be central to the course, with the time on all 3 days split roughly equally between lectures and hands-on programming exercises.
Course timetable
The course will be held from Tuesday 6th December to Thursday 8th December 2011.
Day 1: Introduction / recap of basic OpenMP
This day is designed to bring people without any OpenMP experience up to speed, or is useful for those who simply want to refresh their knowledge. It will cover the OpenMP fork-join model, parallel regions, data scoping, parallel loops and synchronisation statements.
Day 2: Advanced OpenMP
This day will cover more advanced topics such as orphaned directives, nested parallelism, OpenMP tasks and details of the OpenMP memory model.
Day 3: Performance
This day will be focused on performance issues such as minimising overheads, load balancing, avoiding cache trashing, issue on NUMA architectures and mixing OpenMP with MPI.