Shared-Memory Programming with OpenMP @ EPCC at York

Europe/London
RCH/018 (Ron Cooke Hub)

RCH/018

Ron Cooke Hub

Heslington East Campus
Description

Shared-Memory Programming with OpenMP

This course will take place in York.

ARCHER, the UK's national supercomputing service, offers training in software development and high-performance computing to scientists and researchers across the UK.

As part of our training service we are running a 2 day ARCHER OpenMP course at University of York on 24-25 August 2015. Details 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.

Pre-requisite Programming Languages: No prior HPC or parallel programming knowledge is assumed, but attendees must already be able to program in C, C++ or Fortran. It is not possible to do the exercises in Java.

Computer access: All course delegates will need to bring a wireless enabled laptop computer with them on the course. If you have an EduRoam account please ensure this is set up beforehand. This course is free to all academics.

Intended learning outcomes
On completion of this course students should be able to: Describe the fundamentals of the shared-memory architecture Understand the concepts of threads and shared-memory programming. Write, compile, and run parallel OpenMP programs. Perform basic optimisations for better performance.

Location:
Room RCH/018 in Ron Cooke Hub on the Heslington East part of the campus.
Heslington East Campus Maps and directions are available at http://www.york.ac.uk/about/maps/

Download map

Slides
  • Tuesday, 15 December
    • Lectures: Shared Memory Concepts; OpenMP Fundamentals; Parallel Regions
    • Coffee
    • Practicals: Hello World; Mandelbrot 1
    • Lunch
    • Lectures: Work sharing; Synchronisation
    • Tea
    • Practicals: Mandelbrot 2; Molecular Dynamics (MD)
  • Wednesday, 16 December
    • Lectures: Further topics; OpenMP Tasks
    • Coffee
    • Practicals: MD with orphaning; Mandelbrot with tasks
    • Lunch
    • Lectures: Memory model; Performance tuning
    • Tea
    • Practicals: MD tuning