How come a CPU has very few cores compared to a GPU that has thousands of cores and what causes GPU cores to be so small?

687 views

How come a CPU has very few cores compared to a GPU that has thousands of cores and what causes GPU cores to be so small?

In: Technology

4 Answers

Anonymous 0 Comments

In a CPU, the circuit that does the actual computations (let’s call it the ALU) is incredibly fast and the most important thing for CPU speed isn’t to make it faster, but to keep it fed with work to do and data to work on.

For this reason CPU cores have a ton of extra circuits whose job is to keep the ALU busy (caches, predictors, schedulers, buffers, …) which makes them *huge*.

GPUs don’t do that as much.
GPUs are designed to process pixels or triangles, and there are millions of them on a screen. The repetitive nature of the work done on a GPU means that most cores will work on the same kind of thing at the same time, and the circuit that feed them with instructions and data can be shared across cores.
And GPUs don’t care how long it takes for a single pixel to be computed, but rather how long it takes for the whole screen, each GPU core can afford to compute several pixels in parallel to amortize wait times (if the computation for a pixel has to wait for data from memory, the core can just switch to some other pixel).

**********

The resulting architecture is very different: instead of having big cores with their own ALU and a huge control circuit to make the ALU happy, The GPU has groups of cores that share the same control circuit. This means that they can have a lot more core and ALUs (because they don’t need as much control stuff), but that cores aren’t all independent and that they perform badly when trying to run sequential tasks.

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