GPU Bootcamp - A Collaborative Hands-on GPU Tutorial
Event Type
Education and Training
HPC Accelerators
Heterogeneous Systems
Programming Models & Languages
TimeSunday, June 16th9am - 6pm
LocationAnalog 2
DescriptionGPU bootcamp is a collaborative hands-on tutorial designed to teach scientists and researchers how to start quickly accelerating codes on GPUs. Participants will be given an overview of available GPU libraries, programming models, and platforms, followed by a deep dive on the basics of GPU programming using OpenACC through extensive hands-on collaboration based on real-life codes. OpenACC lectures and labs will be paired together with a working session where participants will work in teams to accelerate one or several mini-applications on GPUs.

OpenACC is a centerpiece of this tutorial as it is a proven programming model chosen by top HPC applications. The model helps scientists and researchers start programming GPUs with significantly less effort than is required with a low-level model such as OpenCL or CUDA. OpenACC is used together with GPU-accelerated libraries to simplify the first steps of running their code on GPUs so participants can get results faster and understand GPU programming. Applications ported to GPUs using OpenACC can also run in parallel on all the cores of a multi-core CPU without any code modification by simply recompiling for the different targets. This enables development on CPU-only systems if or when GPUs are not available.
Content Level 80% beginner, 15% intermediate, 5% advanced
Target AudienceScientists, researchers, and students planning to start accelerating codes on GPUs quickly and efficiently
PrerequisitesNo previous experience with OpenACC directives or GPU programming in general is required; however, programming experience with C, C++, or Fortran is desirable. Exposure to parallel programming methodologies is also helpful. Students are expected to bring their laptops to the event to access labs and to work on the mini-applications using GPU resources in the cloud.
Tutorial Authors
PGI Compiler Engineer