Close

Presentation

Programming Your GPU with OpenMP: A "Hands-On" Introduction
DescriptionIf you are an HPC programmer, you know OpenMP. Alongside MPI, OpenMP is the open, cross-vendor foundation of HPC. As hardware complexity has grown, OpenMP has grown as well adding GPU support in OpenMP 4.0 (2013). With a decade of evolution since then, OpenMP GPU technology is now a mature option for programming any GPU you are likely to find on the market.
While there are many ways to program a GPU, the best way is through OpenMP. Why? Because the GPU does not exist in isolation. There are always one or more CPUs on a node. Programmers need portable code that fully exploits all available processors. In other words, programmers need a programming model, such as OpenMP, that fully embraces heterogeneity.
In this tutorial, we explore GPU programming with OpenMP. We assume attendees already know the fundamentals of multithreading with OpenMP, so we will focus on the directives that define how to map loops onto GPUs and optimize data movement between the CPU and GPU. Students will use their own laptops (with Windows, Linux, or macOS) to connect to remote servers with GPUs and all the software needed for the tutorial.
Event Type
Tutorial
TimeMonday, 18 November 20248:30am - 5pm EST
LocationB201
Tags
Accelerators
Message Passing
Parallel Programming Methods, Models, Languages and Environments
Portability
Registration Categories
TUT