Good to know: What is CUDA?

04.03.2019

When we introduced our new QUADRO P1000 and TEGRA 2 mini PCs, we already talked about NVIDIA CUDA and the so-called CUDA cores. But what exactly is CUDA?

What does "CUDA" mean?

The term CUDA is the acronym for "Compute Unified Device Architecture".

What exactly is CUDA?

CUDA is an NVIDIA architecture for parallel computing. The additional use of the graphics processor increases the computing power of a PC.

In the past, OpenGL and DirectX were the only way to interact with GPUs, but these APIs were mainly suitable for multimedia applications. Calculations, on the other hand, were only performed on the CPU.

As graphics cards are ideal for computing-intensive, highly parallel processes, new operating systems (Windows 7 and upwards) now use GPUs not just for graphics calculations, but as a multi-purpose parallel processor that can be accessed by any application. Calculations now run in parallel on the CPU and the graphics processor, which increases performance enormously. NVIDIA CUDA supports this and enables simple and efficient parallel development. There are now thousands of applications, countless research reports and a large selection of CUDA tools and solutions.

What is a CUDA core?

CUDA cores or cores are usually regarded as equivalent to CPU cores. However, the CUDA cores are less complex and occur in much larger numbers. While the usual Intel CPUs have between 2 and 8 cores, the NVIDIA Quadro P1000, for example, which is installed in our mini PC of the same name, has 640 CUDA cores. High-end graphics cards, such as NVIDIA's Turing generation, often have over 4000 cores. This high number is necessary because many complex graphic calculations often have to be carried out simultaneously. However, since GPUs are specialized for this purpose, the cores are also much more specifically designed and therefore smaller than those of CPUs.

A detailed explanation of the topic can be found at Gamingscan. If you want to delve deeper into the topic and are interested in the exact difference between CUDA cores and CPU cores, you should watch the video "Why CUDA 'Cores' Aren't Actually Cores" by Gamers Nexus.

In which areas is CUDA used?

CUDA is used in a wide variety of areas. On the one hand in image and video processing, but also in the medical field, for example in CT image reconstructions. The fields of AI, deep learning and machine learning also often rely on CUDA, as sophisticated development environments are required here. Other topics include computational biology and chemistry, ray tracing, seismic analyses and much more.

What is the current version of CUDA?

Since CUDA was introduced in 2006, it has developed enormously. In October 2018, CUDA 10 was presented together with the introduction of the new Turing GPUs. More information about the new features can be found at heise.de and on the NVIDIA Developer Blog.

How is CUDA programmed?

When using CUDA, the programming languages C, C++, Fortran, Python and MATLAB can be used.

How can CUDA be used?

CUDA can be used under Windows, Linux and Mac OS, provided you have the right hardware. These are graphics cards from the NVIDIA GeForce, Quadro and Tesla series as well as NVDIA GRID solutions. An overview of CUDA-capable GPUs can be found at NVIDIA . The CUDA Toolkit can be easily downloaded from NVIDIA.

More on the topic