An Introduction to CUDA Programming


Through a combination of lectures and practicals this course provides an introduction to the development of CUDA programs for execution on NVIDIA GPUs. Topics covered in the lectures will include: an overview of GPU hardware and in particular SIMT multithreading and the different kinds of memory; thread blocks and warps; launching CUDA kernels; efficient use of shared memory; conditional code and warp divergence; parallel reductions; profiling program execution; availability of libraries; resources for further study.

Aimed at:

Anyone interested in writing CUDA programs for NVIDIA GPUs.


Attendees should be competent in programming in C and be familiar with working in a UNIX environment (i.e., you should be able to connect to a machine remotely, use basic UNIX commands, edit a source file and understand the elementary steps in compiling object files and creating executables). No prior experience of parallel computing is required.


2 day.

After Course Attendees Will:

Be able to develop simple CUDA programs, and further develop their skills by studying the CUDA example codes provided by NVIDIA.

Please email us if you would like to attend this course.