OpenMP Accelerator Support for GPU

Abstract

The OpenMP specification is a de-facto industry standard for parallel programming on modern hardware architecture for the last 15+ years.  In the last two revisions of the specification, new features have been added to provide functionality to offload code to a broad range of accelerators, including Nvidia GPU.  The OpenMP programming model can help users to exploit the OpenPOWER architecture in a portable way, this makes a powerful combination for taking us to Exascale Computing.  It is also one of the programming models being used in CORAL, a multi-million dollar collaboration between IBM, Nvidia, Mellanox and several US National Labs.  This talk will give an overview of the OpenMP accelerator support including the latest just ratified OpenMP 4.5 which further enhances accelerator support for Fortran, C/C++, and also show how it is used to exploit the OpenPOWER architecture.

Speaker Bio

Kelvin Li is an advisory software developer in IBM Toronto Lab.  He has been working in the compiler team for 15+ years.  He works in C, C++ and Fortran frontends.  He also participates in the llvm/clang projects to implement OpenMP pragmas in the frontend.  Kelvin represents IBM in OpenMP ARB and actively participates in the development of the OpenMP specifications.  He also chairs the OpenMP Fortran subcommittee to rebase the Fortran language supported in the specification.