Why are GPUs so fast?

This talk, Why are Graphics Systems so Fast?, offers an interesting overview and insights of graphic accelerators.

A few reasons why they are so fast:
Because of high demand for games and simulations, it is economical to invest in high-end tools and spend time to engineer an optimized solution.
Technically, GPUs get better throughput (FLOPs) than CPUs for a given number of transistors. GPUs use simpler components (no need to deal with out of order or branch prediction) and more parallelism.
There is a lot of parallelism based on vectors (SIMD), but threads are actually quite important to deal with latency of random memory read access (a common pattern).
There is a trend towards heterogeneous or “fusion” chips, such as the iPhone’s. A few complex (CPU) cores and many simple (GPU) cores on a single chip.
The high abstraction in the programming model has allowed the innovation in the low-level implementation and optimization (chip and drivers).


This related talk, Amdahl’s Law in the Multicore Era, offers some simple models in the spirit of Amdhal’s law, to analyze the speedup, trade-offs and bounds around asymmetric (serial and parallel) hardware. What is the right mix between serial and parallel? What gain (upper bound) we could expect from improvements in serial components as opposed to parallel components?



Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: