June 6, 2025

Nvidia and CUDA programming - CUDA

What is CUDA? "Compute Unified Device Architecture"

This doesn't actually tell you anything, and it is surprisingly hard to actually find out what the architecture of a CUDA core is. Most people are just eager to know how many of the things are on their card, whatever the heck they are. And most articles just tell you how they are different from CPU cores.

AMD uses different language, calling their units "stream processors". The "CUDA" name is Nvidia specific. Nvidia seems quite open about their technology and is eager to help people use it.

CUDA architecture

In many ways, the term "CUDA core" is a misleading fiction.

CUDA seems to be more of a programming API than it is a hardware architecture. The CUDA API aims to isolate the programmer from hardware details.

There have been various architectures along the way. Tesla and Maxell were early architectures. My GT 1030 card uses the GP108 chip which is a Pascal architecture device. Along the way has been Turing, Hopper, and others. The RTX 3060 is based on the Ampere architecture. The "40" series cards are based on "Ada Lovelace" microarchitecture. The "50" series cards are based on "Blackwell".

The 3060 uses the GA106 chip and the 12G version uses the GA106-300-A1 variant.
A 3070 uses a GA104, a 3060Ti uses the GA104-200-A1 variant.

The 3060 card was launched January 12, 2021 and uses an 8nm process. As you might expect, TSMC in Taiwan is the main manufacturer of chips for Nvidia, although TSMC now has a facility in Arizona.

Assembly language programming

Nvidia uses a virtual assembly language called PTX. The CUDA platform generates "code" for PTX. This in turn is compiled into a lower level assembly language called SASS. SASS code in then compiled to native machine code for the specific GPU being targeted.

PTX stands for "parallel thread execution"

Warps and CM


Feedback? Questions? Drop me a line!

Tom's Computer Info / tom@mmto.org