CPU or GPU? one or the other or both?

The transistor counts of both the CPU and GPU are escalating almost as fast as toxic assets from the sub prime mortgage meltdown.  As in every good debate there are usually 2 opposed sides to a given topic.  Political parties such as Democrats and Republicans thrive on the point versus counterpoint arguments.  This analogy certainly is applicable to the technology of semiconductors.  Gone are the days of the CPU as the center of the computer.  With the advancement of visual applications in both the commercial and entertainment sectors, graphic processing has made a claim as the center of the computer.  Today 50 years after the first silicon transistor, semiconductor advancements have exceeded industry predictions 25 years ago.  It is truly amazing that computer and graphic processor transistor counts have gone from 100s of millions and exceeded the billion of transistor ceiling!  That is one large mass of circuits that have to be designed, verified, placed, routed and timed for chip signoff.

As the industry has pretty much hit the celing on clock speed, multiple instances of cores have appeared.  However having a quad-core CPU does not mean that your office productivity suite will run faster on your desktop as this application is single threaded.  Applications that are muti threaded will be able to take advantage of mutiple cores.  A good example is visualization hypervisor software that will run on multiple bare metal cores.  When you are managing multiple virtual machine instances many cpu threads come in handy.

It is obvious that word processing applications do not need extreme graphics processing either.  Then what does require high end graphics?  The graphics capability of the microprocessor is pretty impressive these days.  I can think of two areas: high end video games and visualization software for high end computer modeling and manipulation.  Both of these areas have a viable market as evidenced by the sales of popular gaming consoles out there such as PlayStation3 and the new consoles under development.  In the commercial sector 3D crash simulations are very cost effective for automobile manufactures when designing a safer automobile.

Ferraris and Fiat Cinquecentos both can go 50 mph (80 kph).  However not everyone has the need or monetary opportunity to purchase a Ferrari.  The same applies for CPU and/or GPUs depending on what you are trying to do.

Blog is available also at: http://bobporras.wordpress.com/

Comments:

Hello,

for the GPU, you are only talking about 3d graphics (although it can also be used for 2d graphics) and not at all about the GPGPU. It is true that not many such applications are currently available, but they are starting to come.

Also, there is no reason for the office productivity suite to be mono-threaded. Just to give a trivial example, the spell/grammar checker could run in some other thread, the rendering (which could use the GPU) can be done in some other thread (or even process), etc.

Now I still agree with the conclusion that CPU/GPU each have some applications where they are more suitable than the other.

Posted by Marc on May 26, 2009 at 06:04 AM EDT #

You might want to take a look into non-3D uses for GPUs. That ranges from media processing, video compression/decompression, audio compression but also potentially encryption, virus pattern matching, ultrasound image processing and so much more.

The general rule of thumb is: if it is multi-core friendly, then one should look at using a GPU.

Posted by Hubert Nguyen on May 26, 2009 at 02:12 PM EDT #

Oh, and clearly, we need both :)

Posted by Hubert Nguyen on May 26, 2009 at 02:13 PM EDT #

Good points. High end HPC environments are starting to program GPUs for their intense number crunching ability. All that wasted polygon generation... ;)

Posted by guest on May 27, 2009 at 03:34 AM EDT #

Post a Comment:
Comments are closed for this entry.
About

The blog of Bob Porras - Vice President, Data, Availability, Scalability & HPC for Sun Microsystems, Inc.

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today