Introduction to OpenMP Offloading with AMD GPUs
Learn how to use the APUs and GPUs in HLRS's systems Hunter and Herder. OpenMP is our recommended portable choice to do so.
Praktische info:
Inschrijven?
- Voorwaarden: Basic experience in OpenMP programming, application developer's general knowledge of computer hardware, operating systems, and be familiar with C/C++ or Fortran
- Prijs: Free
Leertraject
OpenMP is one major option how to use GPUs to accelerate/offload computations on today's heterogenous computer systems. This course will give an introduction to the AMD Instinct™ GPU and Accelerated Processing Unit (APU) architectures to lay foundations of how GPUs work and can be used for offloading in OpenMP. New features of recent OpenMP versions and GPUs such as the unified memory programming model will be introduced, which make writing HPC applications much easier for a wide range of GPU programming models. In addition, tools for performance analysis and optimization will be presented.
This course targets beginners in GPU programming having basic knowledge of parallelization with OpenMP on CPUs. After this course you will have learned the basics to confidently start porting your application from a CPU only system to systems with discrete GPU accelerators or APUs.
Learning outcomes
In this course, participants will
- Gain foundational knowledge about GPUs and APUs and their roles in high-performance computing.
- Learn how to utilize OpenMP offloading with unified shared memory to simplify data management and improve performance.
- Explore techniques for explicit data management in OpenMP offloading, enabling more control over data movement and optimization for discrete GPUs.
- Understand the principles and benefits of asynchronous offloading to enhance computational efficiency and overlap computation with data transfer.
- Discover various tools and methodologies for analyzing and optimizing the performance of your applications.
- Apply their knowledge in a practical session where they will port a small application, reinforcing the concepts learned throughout the course.
Agenda
Preliminary
Day 1:
- 08:45 - 09:00 Drop in to Webex
- 9:00 - 13:00 Introduction to OpenMP offload with and without unified shared memory (with exercises)
- 14:00-17:00 Participants can continue working on exercises or do own experiments. Limited support via chat available
Day 2:
- 08:45 - 09:00 Drop in to Webex
- 9:00 - 13:00 Real world OpenMP porting: App porting examples and tools (with exercises)
- 14:00-17:00 Participants can continue working on exercises or do own experiments. Limited support via chat available
Gerelateerde opleidingen
Summer School on Security and Privacy in the Age of AI
Zomerschool - Heverlee - KU Leuven, UGent, VUB, Imec