|Schedule:||View OpenMPCon 2015 Program|
|Abstract:||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 will focus on the OpenMP 4.0 accelerator model that provides such a programming model.
For this half-day tutorial we assume attendees have a basic understanding of OpenMP concepts. We quickly review OpenMP programming topics that are most relevant to the accelerator model. We focus on how the OpenMP execution and memory models were extended to support heterogeneous devices. We cover the new device constructs and API routines that were added in OpenMP 4.0, and we work through some example code. Finally, we preview some of the upcoming features coming in OpenMP 4.1.