About CUDA

What is it?

CUDA, which stands for Compute Unified Device Architecture, is an application programming interface (API) developed by NVIDIA that provides developers with a means to use NVIDIA GPUs for general purpose programming. First released in 2007, on June 23rd, CUDA has pioneered general-purpose computing GPU and been the reference for NVIDIA GPUs ever since.

Why did we need CUDA?

As their name suggests, Graphics Processing Units (GPUs) were originally designed for graphics processing; made of computational-intensive tasks that are massively parallel and exhibit small divergence as well as coalesced memory accesses. Made of numerous small cores, GPUs gather a processing power far beyond that of a CPU.

As technology progressed, it was noticed that other areas of computing such as mathematical libraries were exhibiting such tasks. The idea of using GPUs for general purpose programming and no longer only for graphics processing led to the design of CUDA. With GPUs now being used in machine learning, artificial intelligence and mathematical libraries to name a few, CUDA can be seen as the first technology that made it possible.