CHAPTER 4: GPU Computing Basics with CUDA C¶
Author: Libby Shoop, Macalester College
Shoop, Libby. “GPU Computing Basics with CUDA C”. PDC for Beginners, edited by CSinParallel. 2022. Available Online.
Computing using GPUs is often reffered to as massively parallel computing, because we use Graphical Processing Unit devices that contain thousands of cores.
Manycore computing is an exciting technology that drives a great deal of cutting edge computing in Artificial Intelligence (inparticalur Deep Learning in generative AI), Robotics, and a variety of scientific research, such as weather forcasting, biofinformatics, genomics, proteomics, and modeling of various physical and chemical systems.
For NVIDA GPU cards, one software system to code in is CUDA (Compute Unified Device Architecture), which has compilers for C, C++, and Fortran.
Language used for these examples: C, with special additions for compiling for executing on a GPU, referred to as CUDA C.
- 4.1 The manycore GPU device in a host
- 4.2 GPU Programming model
- 4.3 Mapping Threads to Data Elements
- 4.4 Example: Vector Addition
- 4.5 Vector Addition example with CUDA Unified Memory
- 4.6 Vector Addition Example with Timing