You are here
Monday, June 11 - CASPUR Auditorium
Ruud van der Pas, Senior Staff Engineer, Oracle
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.
|09.00-10.00||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.
|10.00-11.00||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.
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.
|12.30-13.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.
Kelvin Li, Advisory Software Developer, IBM
The IBM XL compilers provide various features for parallel programming to speed up applications. The XL C/C++ and XL Fortran compilers are compliant with OpenMP API. Complementing this specification is a new implementation of using thread-local storage for OpenMP threadprivate data in the compiler, which provides an opportunity for improved application performance. The XL compilers implement the VMX/VSX programming interface to take advantage of hardware vector instructions. Additional parallel programming support for developerWorks releases include UPC and Transactional Memory.
|14.30-16.00||IBM XL Compilers|
|A roadmap of the XL compilers|
|Highlights of OpenMP features|
|Highlights of performance features|
|Rational Developer tools working with the XL compilers|
|A demo of building an OpenMP program using RD|