Course in Shared Memory Programming With OpenMP at NSC, May 27-29

Dates: May 27-29, 2013
Venue: NSC, Campus Valla, Linköping University
Open for: Any PhD student, postdoc or researcher affiliated with a Swedish research institution, as well as NSC partners SMHI and SAAB.
Prerequisites: Intermediate programming skills in C, C++ or Fortran. Laptop to bring for the practical sessions.

NSC is happy to announce a three-day course in shared memory programming using OpenMP open to all PhD students, postdocs etc. affiliated with a Swedish research institute, as well as NSC partners SMHI and SAAB. The course will be held at NSC between May 27 and May 29.

OpenMP provides an efficient method to write parallel programs in C, C++ and Fortran. OpenMP programs are suitable for execution on shared memory architectures such as modern multi core systems or a single compute node of the SNIC HPC clusters.

This course will introduce participants to the shared-memory model for parallel programming and the OpenMP application-programming interface. In many cases OpenMP allows an existing serial program to be upgraded incrementally, starting with the parallelization of the most time-consuming parts of the code. Typically OpenMP programs are easily ported from one shared memory multi processor system to another one.

The course consists of lectures alternating with practical sessions. The teaching language will be English. No prior experience in parallel computing is required. Participants are however expected to be able to write serial programs in C, C++ or Fortran. The course contents includes:

  • Shared memory programming concepts
  • Syntax of the OpenMP API
  • Parallel and serial regions
  • Shared and private data
  • Workshare constructs and scheduling
  • Reductions
  • Avoiding data access conflicts and race conditions
  • Performance considerations for non-uniform memory access hardware (e.g. nodes of SNIC HPC clusters)

At the end of the course participants should have the ability to parallelize many of the computational kernels used in scientific codes.

Pre-requisites: Participants should be able to program in either of C, C++ or Fortran at an intermediate level. For the practical sessions, participants are required to bring their own laptop computers.

The lecturer Joachim Hein is the SNIC parallel programming expert based at Lunarc, the Center for Scientific and Technical Computing at Lund University. He is also a researcher at the Centre of Mathematical Sciences at Lund University and a computing architect at EPCC at The University of Edinburgh in Scotland. He has more than 18 years experience in parallel computing.

The course will be open to users from all SNIC HPC centres and NSC partners SMHI and SAAB, but the number of seats are limited and will be reserved on a first come, first served basis. Registration is open until Friday May 10. The course will be held at NSC, Campus Valla, Linköping University. Directions to NSC, course schedule and registration page can be found following the links on this page.

The times for the course are:

  • Monday May 27: 14:00-17:00
  • Tuesday May 28: 09:00-17:00
  • Wednesday May 29: 09:00-16:00