Previous | Next --- Slide 43 of 54
Back to Lecture Thumbnails
Jing

Why is GPU so fast without hitting the same issue as CPU does (power wall etc) What trade-offs do we make in order to make GPU so much faster ?

top

@Jing Well for one we are losing a lot of the control logic that a CPU has. Abilities such as pre-fetching, superscalar execution, and all of the other fancy logic is not present on a GPU and the programmers have to do most of the work when it comes to memory management. I don't know if this fully explains why we don't hit the power wall so someone else please feel free to jump in.

grose

But we are doing superscalar execution right? Each thread/execution context gets 2 instruction decoders. Do you mean that it's not that smart?

Also, wasn't the power wall related to the clock rate? I'm thinking it's, whether you're big or small, clocking too fast will hit the power wall. But, you can do multiple things per cycle.

In other words, "doing 2 things simultaneously which each take 1 second" != "doing 1 thing in .5 sec and then 1 thing in .5 sec"

rramo

@Jing In addition to what @top said, I think the lower clock frequency of GPUs and a larger surface area for heat dissipation allow us to use more power than a CPU. Exploiting parallelism is how we can make GPUs so much faster, whereas CPUs must have really good sequential execution.

HLAHat

Since they're both just computer chips, technically they both have the same physical limitations. Like the others said, GPUs just have less to do and can make more compromises to avoid the thresholds that CPUs are hitting. Theoretically you could make a very advanced GPU which would run into the same problems as current CPUs, but there's really no need for something like that in the market right now I suppose.

rokislt10

GPU's do indeed have a larger surface area. If you've ever opened up a desktop tower (or built one yourself) you'll notice that the CPU is tiny. You could very easily fit it in your palm. The video card, on the other hand, is much, much larger and is generally paired with a gigantic fan/cooling system. I'm not sure why GPU's can be so much larger, however. Wouldn't it run into performance problems with the larger size?

grose

@rokislt10 what performance problems do you expect it to run into?

pmassey

@grose I believe he's talking about the physics-based reasons we have small computer chips -- the speed of light. Because of how high the clock rates are in modern computers, if the surface area is too large the speed of light can be the limiting factor on operations due to the circuitry. A larger surface area means that some reads/writes will take longer because their destination is further away.

A fun fact to keep in mind is that light moves about 10 inches every nanosecond. So if the travel path is larger than 10 inches and the clock frequency is above a gigahertz, this limitation will actually prevent computations being able to complete every cycle.

grose

Wow, neat fact.