1-2 July 2013
James Clerk Maxwell Building, King's Buildings campus
Europe/London timezone

Almost all modern computers now have a shared-memory architecture with multiple CPUs connected to the same physical memory, for example multicore laptops or large multi-processor compute servers. This course covers OpenMP, the industry standard for shared-memory programming, which enables serial programs to be parallelised easily using compiler directives. Users of desktop machines can use OpenMP on its own to improve program performance by running on multiple cores; users of parallel supercomputers can use OpenMP in conjunction with MPI to better exploit the shared-memory capabilities of the compute nodes.

This two-day course will cover an introduction to the fundamental concepts of the shared variables model, followed by the syntax and semantics of OpenMP and how it can be used to parallelise real programs. Hands-on practical programming exercises make up a significant, and integral, part of this course.

No prior HPC or parallel programming knowledge is assumed, but attendees must already be able to program in C, C++ or Fortran. Access will be given to appropriate hardware for all the exercises, although many of them can also be performed on a standard Linux laptop.

Pre-requisite Programming Languages:

Fortran, C or C++. It is not possible to do the exercises in Java.

Draft Timetable

Day 1:

  • 09:30 Lectures: Shared Memory Concepts; OpenMP Fundamentals; Parallel Regions
  • 11:00 COFFEE
  • 11:30 Practicals: Hello World; Mandelbrot 1
  • 13:00 LUNCH
  • 14:00 Lectures: Work sharing; Synchronisation
  • 15:30 TEA
  • 16:00 Practicals: Mandelbrot 2; Molecular Dynamics (MD)
  • 17:30 CLOSE

Day 2:

  • 09:30 Lectures: Further topics; OpenMP Tasks
  • 11:00 COFFEE
  • 11:30 Practicals: MD with orphaning; Mandelbrot with tasks
  • 13:00 LUNCH
  • 14:00 Lectures: Memory model; Performance tuning
  • 15:30 TEA
  • 16:00 Practicals: MD tuning
  • 17:30 CLOSE
James Clerk Maxwell Building, King's Buildings campus
To be confirmed
Mayfield Road, Edinburgh EH9 3JZ
This course is funded by the PRACE project and is free to all.

Please register using the online form.

If you have any questions, please consult the course forum page or contact epcc-support@epcc.ed.ac.uk.

Information about how to find the James Clerk Maxwell Building (JCMB) can be found on the School of Physics and Astronomy website.

Note that parking on the King's Buildings campus is by permit only, and that parking just outside on Mayfield Road is restricted before 09:15 and after 16:30 - and cars will be removed (with a hefty fee payable to get your car back) if parked there during the restricted times. Unrestricted free parking is available on nearby Hallhead Road, Ross Road, Blackbarony Road and Gordon Terrace to the east of the campus, and along the north side of the campus on West Mains Road.

A number of B&Bs and hotels can be found approximately 10 minutes' walk from EPCC, including:

* Smiths' Guest House, 77 Mayfield Road, Edinburgh EH9 3AA

* Mayfield Lodge Guest House, 75 Mayfield Road, Edinburgh EH9 3AA

* Highfield Guest House, 83 Mayfield Road, Edinburgh EH9 3AE

* Lauderville Guest House, 52 Mayfield Road, Edinburgh EH9 2NH

* Glenisla Hotel, 12 Lygon Road, Edinburgh EH16 5QB

* Glendale House Guest House, 5 Lady Road, Edinburgh EH16 5PA

There is also the Travelodge Cameron Toll, 43 Craigmillar Park, Edinburgh EH16 5PD. Note that the room price does not include breakfast.