Tutorial
Monday, September 16, 2013
11:30 - 17:00
Tutorial:
Ruud van der Pas
Distinguished Engineer, Architecture and Performance, SPARC Microelectronics
Oracle, Santa Clara, CA, USA
OpenMP is a widely accepted and used shared memory parallel programming model. Over time it has evolved and adapted to stay in line with both hardware trends and the needs of software developers.
This not only makes it very suitable to develop parallel applications for single multicore based systems, ranging from a small laptop to a very large server, but also for a hybrid architecture, combining MPI and OpenMP to exploit the best of both worlds.
The tutorial presents a practical overview of the most recent release 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.
Ruud van der Pas
Distinguished Engineer, Architecture and Performance, SPARC Microelectronics
Oracle, Santa Clara, CA, USA
OpenMP is a widely accepted and used shared memory parallel programming model. Over time it has evolved and adapted to stay in line with both hardware trends and the needs of software developers.
This not only makes it very suitable to develop parallel applications for single multicore based systems, ranging from a small laptop to a very large server, but also for a hybrid architecture, combining MPI and OpenMP to exploit the best of both worlds.
The tutorial presents a practical overview of the most recent release 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.
11:30
An Introduction into Parallel Programming
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.
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.
12:30
Lunch
University House Common Room
13: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.
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.
14:30
Break
University House Common Room
15: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.
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.
16: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.
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.
16:30
Q & A
17:00
Closing