CUDA Software Platform

collection of software for developing CUDA Programs e.g. CUDA C++

CUDA C++ Programming Language

CUDA programming language as an extension of the C++ programming language.

Examples: __global__ for kernel def, <<<>>> for kernel launch, __syncthreads() for shared memory allocation etc.

NVIDIA GPU Drivers

image.png

what mediate the interaction between host(CPU) programs or the host operating system and the GPU device.

쉽게 말해 GPU device를 host 가 쉽게 사용할 수 있도록 제공하는 고수준 interface라고 생각하면 됨

CUDA Driver API

good ref: https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/