Learn how to write a portable parallel program that can run on multicore CPUs and accelerators like GPUs and how to apply incremental parallelization strategies using the OpenACC programming model to accelerate an example application that simulates heat distribution across a 2-dimensional metal plate and applying this knowledge to accelerate a mini-application.
The GPU Bootcamp will be hosted online in the Central Africa time zone. All communication will be done through Zoom, Slack and email.
Basic experience with C/C++ or Fortran. No GPU programming knowledge is required.
This event has limited capacity, so please make sure that prerequisites are met before applying. You will be receiving an acceptance email with details on how to participate by December 5, 2020.
Attendees will be given access to a GPU cluster for the duration of the GPU Bootcamp.
Day 1: December 10, 2020
- Welcome: 9:00 AM CAT
- Connecting to a cluster: 9:00 AM - 09:15 AM CAT
- Introduction to GPU programming: 9:15 AM - 9:30 AM CAT(Lecture)
- What is a GPU and Why Should You care?
- What is GPU Programming?
- Available Libraries, Programming Models, Platforms.
- Introduction to OpenACC: 9:15 AM - 10:00 AM CAT(Lecture + Lab)
- What is OpenACC and Why Should You Care?
- Profile-driven Development.
- First Steps with OpenACC.
- Lab 1.
- OpenACC Data Management: 10:00 AM - 10:45 AM CAT (Lecture + Lab)
- CPU and GPU Memories.
- CUDA Unified (Managed) Memory.
- OpenACC Data Management.
- Lab 2.
- Break 11:00 AM - 11:30 AM CAT
- Gangs, Workers, and Vectors Demystified: 11:30 AM - 12:30 PM (Lecture + Lab)
- GPU Profiling.
- Loop Optimizations.
- Lab 3.
Day 2: December 11, 2020
- Mini-application challenge: 9:00 AM - 12PM PDT
- Overview of the mini-application
- Review steps to acceleration
- Application challenge (work in teams of individually)
- Mini-application Solution: 12:00 PM - 1:00 PM PDT
- Walk-through using NVIDIA ® Nsight ™ Tools
- Winner announcement
- Profiling Lab: offline with instructor support through Slack until the end of day December 3rd.
Important Event Dates
GPU Bootcamp Application Deadline
GPU Bootcamp Day 1
GPU Bootcamp Day 2