I know what a CPU is(I think). It's the thing who's speed is measured in GigaHertz(these days).

However, you hear a lot about a GPU, and letting the GPU take over, not letting the CPU but the GPU do it, GPU-based rendering, etc...

What is this GPU anyway? How can I access it and use it to my advantage? What am I missing out on here?

  • 2
    Err... that's not a very good definition of CPU. ;) – Mateen Ulhaq Feb 22 '11 at 1:15
up vote 16 down vote accepted

The GPU is the graphical processing unit. It is the CPU of the video card.

Traditionally the CPU did all of the graphics processing until video card manufacturers began including GPUs on the display adapters. The GPU was a dedicated piece of hardware similar to the old FPU (floating point unit that was dedicated to performing advanced math routines faster than the CPU), that could perform common graphics routines really fast. (Actually GPUs came with the move on the part of video card manufacturers to incorporate graphics acceleration into the card instead of requiring a separate board, just like the function of FPUs was eventually incorporated directly into CPUs.)

Eventually, GPUs outpaced CPUs so that a graphics processor actually had more transistors, ran faster (and hotter), and such. Graphics card manufacturers realized that the GPU was now a really powerful piece of hardware that is often sitting idle (for example when browsing the Internet, editing documents, etc.) So, starting with the X1300, ATI’s cards included AVIVO, which would allow the user to run video conversion software on the video card’s processor instead of doing it just on the slower CPU. Nvidia responded with CUDA, the first true GPGPU which basically, is a way to use the GPU(s) on a video card as general-use supplemental processors that can be used for any purpose, not just graphics or video related purposes.

Because a GPU is highly optimized to perform advanced calculations such as floating-point arithmetic, matrix arithmetic, and the like, they can perform functions like video conversion, post-processing, as well as tasks like BOINC or Folding@Home much better than with a CPU alone.

A modern computer can be quite the powerhouse, with a multi-core CPU and multi-GPU video card(s) that can act as super CPUs, the processing power of today’s computers is truly quite incredible. Even better, manufacturers are making the chips more power efficient, so that they are really powerful, but can also draw as little power and generate as little heat as possible when they are not necessary, thus giving us the best of both worlds!

  • Just a comment, but for BOINC and Folding@Home, CPU and GPU tasks are vastly different. Most tasks are actually better on a CPU because they involve complex molecular dynamics that are hard to simulate on a GPU. Likewise, there are tasks that can benefit from the insane parallelism of a GPU. Because of this, you tend to see a GPU completing tasks at a higher rate than CPUs, but it hides the fact that there are many tasks that can only be run on a CPU (long flight simulations, etc). But to say that these tasks are better suited for a GPU is incorrect. – forest Jul 5 at 23:17

The GPU is the Graphics Processing Unit. It is essentially the CPU of your video card (CPU is Central Processing Unit, the "brain", or processor, of a computer). Video cards these days are so complex that they are basically computers in themselves, with their own memory, buses, and processors.

GPUs historically have been relatively special-purpose, designed for maximum power when performing a discrete set of graphics operations on particular types of data primitives (vertices, pixels, etc). However, companies like Intel, nVidia, and ATI are starting to push the envelope with more general-purpose GPU components, making it easier than ever before for software developers to utilize extra processing power available on the video card to perform non-graphics operations. Combined with things like CUDA and other specialized GPU languages, these new chips open up a lot of possibilities.

GPGPU is sort of the headquarters for general purpose GPU computing. As a user, rather than a programmer, the whole "offload to the GPU" thing doesn't really concern you at this point, outside from a situation in which you would use software designed in that manner (not very many pieces of end user software exist at the current time).

The CPU is the Central Processing Unit (probably your Intel or AMD processor).

The GPU is the Graphics Processing Unit on your graphics card. See:

http://en.wikipedia.org/wiki/Graphics_processing_unit

They are hard to program but have the benefit of being massively parallel so can crunch some tasks much faster than the CPU.

New initiatives such as CUDA from Nvidia hope to unleash this potential by making programming for it easier. See:

http://en.wikipedia.org/wiki/CUDA

A GPU is just a CPU dedicated to graphics processing. A CPU can process just about anything, but a GPU is tailored to calculating 3D images - people are starting to harness your GPU because it's very, very good at parallel processing, meaning that software that does a lot of things that don't depend on each other can run it through the graphics card for much better preformance.

Plus, it's never normally used, so harnessing it's power can't really hurt.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.