GPU Programming - CUDA

CUDA provides a relatively simple C-like interface to develop GPU-based applications. It exposes an abstraction to the programmers that completely hides the underlying hardware architecture. As a result, they see any CUDA-enabled GPUs as a collection of a number of threads organised into blocks and a collection of blocks that are organised into a grid. At the hardware level, the threads and blocks are handled by the streaming processors (SP) and streaming multiprocessors (SM), respectively, and the device is mapped as a grid. A simplified schematic diagram of the mapping is illustrated in the figure below:

Get hands-on with 1000+ tech skills courses.