Introduction to GPU Programming with CUDA and Thrust
Channel: Utah Cpp Programmers
Date: 2021-02-11

High-performance computing is now dominated by general-purpose graphics processing unit (GPGPU) oriented computations. How can we leverage our knowledge of C++ to program the GPU?

NVIDIA's answer to general-purpose computing on the GPU is CUDA. CUDA programs are essentially C++ programs, but have some differences. CUDA comes as a Toolkit SDK containing a number of libraries that exploit the resources of the GPU: fast Fourier transforms, machine learning training and inference, etc. Thrust is a C++ template library for CUDA.

In this month's meeting, Richard Thomson will present a brief introduction to CUDA with the Thrust library to program the GPU.

Programming the GPU with CUDA is a huge topic covered by lots of libraries, tutorials, videos, and so-on, so we will only be able to present an introduction to the topic. You are encouraged to explore more on your own!

Utah C++ Programmers meetup: https://www.meetup.com/Utah-Cpp-Programmers
Utah C++ Programmers blog: http://utahcpp.wordpress.com/

CUDA: https://docs.nvidia.com/cuda/index.html
Thrust: https://docs.nvidia.com/cuda/thrust/index.html