Home | Programme | Registration | Venue | Accommodation | Travel | Gallery | Toronto | SHARCNET | Sheridan | Contact Us

McMaster University
Hamilton, ON

The University of Western Ontario
London, ON

Wilfrid Laurier University
Waterloo, ON

York University
Toronto, ON

University of Waterloo
Waterloo, ON

McMaster University
Hamilton, ON

York University
Toronto, ON

Sheridan Institute
Oakville, ON

What's New

Course materials now available
June 2, 2010

Course materials are now available online. Follow the links on the programme page to see notes and code examples.

Attendees' comments
June 2, 2010

See what other people think and add your comments here

A message to all attendees
May 28, 2010

On Monday, May 31, attendees are to meet at SCAET (S-Wing) atrium at 8:30 a.m. More...

Download the Attendee's Guide.

Subsidized accommodation full
May 27, 2010

The subsidized accommodation for students has been all exhausted. Attendees who need accommodation should make arrangement on their own.

Website recovered from slowness
May 23, 2010

The web site was extremely slow in the past couple of days due to a technical problem with SHARCNET's web server. Those who were unable to register or failed to complete the registration should try again now.

Subsidized accommidation to close
May 13, 2010

Students who wish to apply for subsidized accommodation should now contact the organizers for available spaces BEFORE registration.

Registration online
May 6, 2010

Students who wish to get subsidy on accommodation should register early.

Poster (PDF)

Introduction to OpenMP


This workshop introduces the OpenMP compiler directives to scientists who are interested in writing programs for shared-memory parallel computers, or who want to convert existing serial code to parallel. The use of OpenMP has become the de facto industry standard for parallel programming on shared-memory machines, such as large-scale SMP servers. It also makes implicit use of the multi-core nature of modern cluster nodes. Our workshop consists of two lecture-sessions, each followed by a hands-on computer lab. Most of the examples are in Fortran, but the C/C++ languages are considered as well.

Instructor: Hartmut Schmider and Gang Liu, HPCVL, Queen's University.

Prerequisites: No previous knowledge about parallel programming is required, but we assume some basic background in programming, preferable with the Fortran or C programing languages.

Course Outline

Day 1: Tuesday morning

  • Part 1 - Parallel Programming, Threads, OpenMP, Issues
  • Part 2 - Parallel Loops, Handling of Data Dependencies, Scheduling

Day 1: Tuesday afternoon

  • Labs - Basic Programming, Running OpenMP Programs, Scaling

Day 2: Wednesday morning
  • Part 3 - Parallel Regions, Synchronization, Handling Race
  • Conditions, False Sharing
  • Part 4 - OpenMP 3.0, Mixing MPI and OpenMP (cluster programming)

Day 2: Wednesday afternoon

  • Advanced Programming, Combination with MPI