Bootcamp, Winter 2021     Agenda     Registration     About

GPU HPC Bootcamp


Instructor bio

Description

This day-long workshop will teach participants the basics of GPU programming through extensive hands-on collaboration based on real-life codes using the OpenACC programming model.

After a general overview of GPU programming, attendees will use different programming models to accelerate the same code: an example application that simulates heat distribution across a 2-dimensional metal plate. Participants will then take a deeper dive into the OpenACC programming model and apply incremental parallelization strategies in order to accelerate this same mini-application.

Finally, participants will be introduced to NVIDIA’s Nsight profiling tools and see how profiling can help uncover opportunities to further accelerate scientific codes.

Learning objectives

Participants will leave with a thorough overview of available libraries, programming models, and platforms for writing portable parallel programs that can run on multicore CPUs and accelerators like GPUs. They will also gain firsthand experience in profiling and accelerating an HPC code using OpenACC.

Knowledge prerequisites

No previous experience with OpenACC directives or GPU programming in general is required. However, programming experience with C, C++, or Fortran is expected. Prior exposure to parallel programming methodologies, though not strictly required, is also helpful.

Hardware/software prerequisites

Participants only need a desktop or laptop computer capable of running the latest version of Chrome or Firefox. There are no other hardware requirements, as each participant will be provided with dedicated access to a fully configured, GPU-accelerated workstation in the cloud.

Some communication during the workshop may happen over Slack. Participants should either have a Slack client installed or their laptops or be prepared to use Slack within a browser.

Session format

Lecture, demonstration, and hands-on labs and exercises

Session Materials

Access to presentation materials is described in the Zoom recording.

Session Recording

A recording of the session is here (requires active Princeton NetID to view).