Agenda of OpenMP Tutorial (text version)
OpenMP Tutorial: An Overview of OpenMP
Ruud van der Pas
Senior Staff Engineer
Oracle Solaris Studio
Menlo Park, CA, USA
OpenMP is a widely accepted and used shared memory parallel programming model (http://www.openmp.org). Over time it has evolved and adapted to both hardware trends and the needs of software developers. This makes it very suitable to develop parallel applications for multicore based systems, ranging from a small laptop to a very large server.
The tutorial presents a practical overview of OpenMP. Other than some programming experience in C, C++ or Fortran, no background in parallel computing is assumed. Most OpenMP constructs will be introduced and explained by means of an example.
Opening talk [ slides ]
|13:30-14:30 ||Basic Concepts in Parallelization|
This talk covers the most important basic concepts in parallel
computing. Topics covered are threads, parallelization, speed up,
efficiency, Amdahl's Law and parallel overheads.
[ slides ]
|14:30-15:30 ||Getting Started with OpenMP|
In this talk we demonstrate how OpenMP can be used to parallelize
the most common and straightforward types of computations. Several
live demos will be given.
|15:30 - 16:00 ||Tea/Coffee Break|
|16:00 - 17:00 ||Using OpenMP |
Now that the basics of OpenMP have been covered, it is time to look
at certain constructs in more detail, as well as introduce some
powerful, but more specialized features OpenMP offers.
[ slides (Getting Started with OpenMP + Using OpenMP) ]
|17:00-18:00 ||OpenMP and Performance|
The goal of parallelization is to improve performance. Unfortunately,
there are many misconceptions regarding OpenMP and performance. In
this talk these will be addressed, as well as tips and tricks how to
obtain good performance using OpenMP.
[ slides ]