Introduction to GPU Programming with CUDA and Thrust


Details
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!
Watch previous topics on the Utah C++ Programmers YouTube channel:
https://www.youtube.com/channel/UC56D6OIs_IAy24ubjC2_hmQ
CUDA: https://docs.nvidia.com/cuda/index.html
Thrust: https://docs.nvidia.com/cuda/thrust/index.html
This will be an online event, so drinks and snacks are on you!

Introduction to GPU Programming with CUDA and Thrust