You are here

Tutorials

Monday, June 11 - CASPUR Auditorium


Tutorial Program


08.00-09.00 Registration

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.
11.00-11.30 Coffee Break
   
11.30-12.30 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.
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.
13.00-14.30 Lunch Break

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
  Q&A