Programming GPUs (Prof Karen Bradshaw)

Although graphics processing units (GPUs) are well known for their use in rendering images, their power for general parallel computing has only been explored in the past few years. With the increased availability of parallel
frameworks, programming models, and development tools, however, GPUs have developed into flexible processors that typically outperform CPUs in the parallel computation of many problems.

This course covers the fundamentals of parallel computing using the CUDA parallel computing platform and programming model. Basic CUDA commands and syntax, and the use of CUDA libraries are covered in depth, as
well as some relevant optimizations specific to the architecture of the GPUs being used. Practical labs focussing on applications in graphics, simulations, physics, and other topics complement the programming concepts and techniques introduced in the lectures.


  • GPU Programming Model
  • GPU Hardware and Parallel Communication
  • Fundamental Parallel Algorithms
  • Optimizing GPU Programs
  • Future of GPU Computing


Last Modified: Mon, 03 May 2021 11:02:45 SAST