Threaded Programming
This is an extended version of Shared-Memory Programming with OpenMP, delivered as part of the CDT programme at Southampton. In addition to covering OpenMP programming, the course will cover optimisation of both single-threaded and multi-threaded code.
Details
This three day course will fall into two parts:
Days 1 and 2 will cover the basics of OpenMP programming, including parallel regions, worksharing, synchronisation and tasks.
Day 3 will cover optimising code for performance, starting with single-threaded considerations and moving on to mutli-threaded issues. All three days of the course will consist of lectures and hands-on practical exercises.
This course is free to all academics.
Pre-requisites
Attendees should have a sound working knowledge of programming in either Fortran, C or C++.
Timetable
Tuesday 24th March
- 09:00 Lectures: Shared Memory Concepts; OpenMP Fundamentals; Parallel Regions
- 11:00 Break
- 11:30 Exercises: Hello World; Parallel regions
- 13:00 Lunch
- 14:00 Lectures: Work sharing; Synchronisation
- 15:30 Break
- 16:00 Exercises: Parallel loops; Synchronisation
- 17:00 Close
Wednesday 25th March
- 09:00 Lectures: Further topics; OpenMP Tasks
- 11:00 Break
- 11:30 Exercises: Synchronisation; Orphaning
- 13:00 Lunch
- 14:00 Lectures: Memory model; Other threading models
- 15:30 Break
- 16:00 Exercise: Tasks
- 17:00 Close
Thursday 26th March
- 09:00 Lectures: Computer architecture: processors, memory, parallel systems
- 11:00 Break
- 11:30 Lectures: Sequential optimisation techniques
- 13:00 Lunch
- 14:00 Lectures: Multithreaded optimisation
- 15:30 Break
- 16:00 Exercise: Multithreaded optimisation
- 17:00 Close
Course Materials
Slides and exercise material for this course are available here.
Location
The course will be held in Southampton
Registration
Please use the training registration page to register for ARCHER courses.
Questions?
If you have any questions please contact the ARCHER Helpdesk.