michael-wong-openmpOpenMPCon this month aims to bring a stellar lineup of the latest industry gurus, users and developers together with the language designers. I will now describe one of final gems of attending the OpenMP Developers conference along with all the other great talks that reveal the nuts and bolts of OpenMP. The OpenMPCon tutorial sessions offer the latest way to fast track you to being a guru at using OpenMP in your work. Taught by committee members and educators who are plugged into the design of the specification they offer a full education range covering all aspects of developing with OpenMP.

Things kick-off with the thoroughly popular and well-tested beginner/intermediate tutorial A “Hands-on” Introduction to OpenMP which provides full coverage of all of OpenMP and is presented by Tim Mattson on Monday. The tutorial is based on Active learning! and will mix short lectures with short exercises. This tutorial is based on a long series of tutorials presented at Supercomputing conferences and is based on a course he teaches with Kurt Keutzer of UC Berkeley.

On Wednesday, along with a regular series of talks and keynotes, one of the tracks will show case OpenMP senior educator, Ruud Van der Pas teaching Why OpenMP REALLY Scales. In his characteristic entertaining and anecdote-filled manner, Rudd will tackle the difficult to handle topic of how to make OpenMP scale.  Unfortunately it is a very widespread myth that OpenMP Does Not Scale – a myth we intend to dispel in this talk.

Tasking models are now everywhere in many standards and specification as they are used to deal with irregular workloads that can not be captured in a parallel loop. Yet some are heavy weight and some are light weight. Michael Klemm and Christian Terboven, the OpenMPCon and IWOMP Program Chair respectively, will show what OpenMP offers Tasking and the insider information on how to best take advantage of them.

If you think OpenMP is merely about threading then you might be interested in the latest features of OpenMP 4.x that exploit the SIMD capabilities of modern processors. Since processors tend to spend more die space for SIMD, growing with every new generation, the so-called “vectorization” becomes more important. Whereas threading is already covered well, vectorization is still is an underdog. In this tutorial an introduction to vectorization extensions is provided for OpenMP 4.0 and the upcoming version. Simplified examples extracted from recent Intel Parallel Computing Center projects will be used as demonstration. Attendees will get a set of different examples to become accustomed with the different vectorization techniques of the latest OpenMP standards.

Want more? OpenMP is the dominant programming model for shared-memory parallelism in C, C++ and Fortran due to its easy-to-use directive-based style, portability and broad support by compiler vendors. Compute-intensive application regions are increasingly being accelerated using specialized heterogeneous devices and a programming model with similar characteristics is needed here. This tutorial on the OpenMP 4.x Accelerator Model will focus on the OpenMP 4.0 accelerator model that provides such a programming model.  For this half-day tutorial it is assumed that attendees have a basic understanding of OpenMP concepts. It will quickly review OpenMP programming topics that are most relevant to the accelerator model and focus on how the OpenMP execution and memory models were extended to support heterogeneous devices. New device constructs and API routines that were added in OpenMP 4.0, will be covered along with some example code. Finally, some of the upcoming features coming in OpenMP 4.1 will be previewed.

I look forward to seeing many of you at these OpenMPCon tutorials. Don’t miss out, Register Today.

Michael Wong