Santa Clara-based Nvidia has been flying high among investors. Last week, it became one of the most valuable companies in the world, at almost three trillion dollars. That's a three with twelve zeroes.
The excitement is driven by one of its products, its line of Graphics Processing Unit (GPU) chips. These very expensive components train the latest generative AI and machine learning models. In today's AI gold rush, Nvidia is selling shovels.
The original "Utah teapot" graphics rendering model from a 1970s paper by Martin Newell
What are these GPUs, and what makes Nvidia's product so valuable?
CPUs and GPUs
The computer revolution rides upon the back of the microprocessor, a circuit designed to act as a Central Processing Unit or CPU of a computer. A CPU reads a stream of instructions, a program, and executes them one by one. A typical instruction asks the CPU to read a couple of numbers from memory, perform an addition or multiplication operation on them, and write the results back to memory.
(I talked about the two most-used kinds of microprocessors back in 2020. See Strong Armed, which introduces the ARM
and the x86
architectures).
A program running on a CPU, such as an application on your mobile phone or on a website, runs thousands of such instructions to produce some useful results in the end. Modern microprocessors run very fast, completing billions of instructions in a second.
Like CPUs, GPUs are also circuits designed to execute instructions that manipulate numbers in memory. The key difference is that a GPU instruction can manipulate many numbers at once.
These instructions are different from CPU instructions; instead of adding or multiplying two numbers, they expect to be given a whole array of numbers on which to perform matrix multiplication or similar operations. A single GPU instruction can operate on multiple numbers, producing a set of results in one go. The GPU loads up a small program of such instructions, and runs the program over and over on many numbers.
So, whereas a CPU consumes a stream of instructions, a GPU consumes a stream of data.
Who uses GPUs
GPU instructions are useful for two major kinds of parallel computations.
The first kind is simple computations that you need to repeat on many quantities. The original application of this kind was computer graphics, which is why the chips are still called graphics processors.
Movie animations, visual effects, and video games are examples of computer-generated imagery (CGI), which requires repeated computations of the colors of many pixels of an image. As computer displays grow bigger and bigger over the years with more colors per pixel and more pixels, the computational demand grows correspondingly. Particularly for video games, it's important to quickly generate successive images, called frames, to keep the game responsive. This processing requires lots of computations per second. Gamers were the original buyers of expensive GPUs to expand their gaming rigs.
(Read the full article on robotsinplainenglish.com)