Intermediate CUDA Programming


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..

Course Materials

Presentation Slides

The presentation slides are available as downloadable PDF files.

  • Intermediate CUDA Programming (Fall 2017): PDF


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

Intermediate CUDA Programming

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

Note: During the class sessions many aspects of the material will be illustrated live via a login to Ada. Attendees are welcome to follow these parts with their own laptops equipped with an NVIDIA GPU card. You are encouraged to contact the HPRC helpdesk with any questions regarding Ada.

Prerequisites: Unix/Linux skills; Experience with C or C++; Ada account is required for those who do not have access to a machine that can execute CUDA code; Intro to CUDA course; Intro to Ada course, if Ada account is required.