How are CPUs and GPUs different in build? What tasks are handled by the GPU instead of CPU and what about the architecture makes it more suited to those tasks?

1.94K views

How are CPUs and GPUs different in build? What tasks are handled by the GPU instead of CPU and what about the architecture makes it more suited to those tasks?

In: Engineering

13 Answers

Anonymous 0 Comments

A CPU has a few cores clocked very high. The Ryzen R7 3700X is a pretty mainstream CPU and has 8 cores.

A GPU these days has a few thousand cores clocked low. A Radeon 5700 XT has 2560 cores. That’s 320 times the cores of one of the most popular desktop CPUs.

This difference in clock speed is down to many things but mostly power consumption and heat. Double something’s clock speed and its power usage *more* than doubles because physics. (This is why downclocking a video card just a little bit can save a lot of power for a small loss in performance.)

In addition to the core count, the underlying architecture of a GPU and CPU is different. Keep in mind, a GPU is basically a mini computer on a card. It has its own CPU, which we refer to as a GPU, and its own RAM.

* GPUs are very efficient at one particular problem: multiply-add. This is *very* common in 3D rendering. They can take three sets of 4 numbers, multiply the first two together then add the result to the third. CPUs are capable of this too but it’s almost cute given the difference in core count.
* The bigger difference comes in how a video card can use its local memory vs a CPU using system memory. System RAM traditionally (DDR4, these days) is built to be accessed in lots and lots of small chunks. One number here, four numbers there, two numbers yonder. It is low latency but relatively low bandwidth (not a lot of data at once but a very small delay). A GPU’s RAM (GDDR6, most recently) is high latency but much higher bandwidth (a shitload of data but often a large delay).

This difference in architecture means that the two can serve polar opposite functions. A CPU can process a long string of calculations with data coming from all over RAM very quickly, but don’t ask it to do too much at one time. A GPU can process a shitload of calculations all at the same time but don’t ask it to access lots of different bits of RAM.

And finally, one of the shitty parts about how computers are built is that the CPU controls data going in and out of the GPU. This communication can be slow as shit. See: the purpose of DirectX12/Vulkan over DirectX11/OpenGL.

You are viewing 1 out of 13 answers, click here to view all answers.