Intermediate CUDA Programming

Overview

This short course covers some intermediate topics in CUDA programming on NVIDIA GPUs. Topics include GPU memory management, parallel kernels in CUDA C. profiling and performance evaluation, etc..

Prerequisites: Unix/Linux skills; Experience with C or C++

Course Materials

Presentation Slides

The presentation slides are available as downloadable PDF files.

  • Intermediate CUDA Programming (Fall 2017): PDF

Participation

During the training, attendees are expected to log in to an HPRC cluster using their own computer and complete the instructor-led examples and exercises.

Agenda

This course focuses, among others, on the following topics:

  • GPU Memory management
  • Parallel kernels in CUDA C
  • Parallel communication and synchronization
  • Running a CUDA code on Ada
  • Profiling and performance evaluation