Nice to know: What is CUDA?

While launching our new Mini-PCs QUADRO P1000 and TEGRA 2 we already talked a lot about NVIDIA CUDA and the so-called CUDA cores. But what is CUDA actually?

What means "CUDA"?

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

What exactly is CUDA?

CUDA is an NVIDIA architecture for parallel calculations. The computing power of a PC is increased by using the graphics processor as well.
In the past, OpenGL and DirectX were the only way to interact with GPUs, but these APIs were mostly suited for multimedia applications. In contrast, calculations were only performed on the CPU.

Since graphics cards are ideal for computation-intensive, parallel processes, new operating systems (Windows 7 and up) no longer use GPUs only for graphics calculations, but as a general-purpose parallel processor that can be accessed by any application. Like that, calculations run parallel on the CPU and the graphics processor, which increases the performance enormously. NVIDIA CUDA supports this and enables easy and efficient parallel computing. There are now thousands of applications, countless research reports and a wide selection of CUDA tools and solutions.

What is a CUDA core?

Usually, CUDA cores are considered equivalent to CPU cores. However, the CUDA cores are less complex and at the same time appear in much larger numbers. While the usual Intel CPUs have between 2 and 8 cores, for example, the NVIDIA Quadro P1000, which is installed in our identically named Mini-PC, 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 often many complex graphics calculations have to be performed simultaneously. However, since GPUs are specialized for this purpose, the cores are also constructed much more specific and are therefore smaller than the cores of CPUs.

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

In which areas is CUDA used?

CUDA is used in a variety of fields. On the one hand in image and video processing, but also in the medical field, for example in CT image reconstructions. The fields AI, deep learning and machine learning also often rely on CUDA, because they require sophisticated development environments. Other topics include computer biology and chemistry, raytracing, seismic analysis and more.

Which is the current version of CUDA?

Since CUDA was introduced in 2006, it has evolved enormously. In October 2018, CUDA 10 was unveiled, along with the launch of the new Turing GPUs. More information about the new features can be found 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?

With CUDA you can work under Windows, Linux and MacOS – given that you have the right hardware. These are the graphics cards of the NVIDIA series GeForce, Quadro and Tesla as well as NVIDIA GRID solutions. An overview of CUDA enabled GPUs can be found on NVIDIA’s website. The CUDA Toolkit can be found there as well.

More on this topic

18 Feb 2019 know-how

Nice to know: What is DirectX?

DirectX is probably common among many gamers, but it is also a topic when talking about Mini-PCs, especially when it comes to programming multimedia content. But what is DirectX actually?
25 Feb 2019 know-how

Nice to know: What is OpenGL?

After introducing you to DirectX last week, we are going to move on to the next API and address the question: What is OpenGL?
11 Mar 2019 know-how

Nice to know: What is Mantle?

In the next part of our small graphics API series, it is getting a little bit more special: we will look at the special features of AMD’s Mantle.