Like GeForce 8 and GeForce 9 the new GeForce GTX 200 series is also a DirectX 10 (i.e., shader 4.0) hardware, but using a different architecture. Let’s see what is new.
The main thing with GeForce GTX 200 series is that NVIDIA is now officially pushing GPGPU (General Purpose Graphics Processing Unit) – which is the use of the GPU located on the graphics card to process regular programs – into the consumer market. Thus you will see NVIDIA saying that chips from these series are kind of “2-in-1” or having “parallel computing capabilities.” NVIDIA marketing department is calling this “beyond gaming.”
In fact all video cards can be used like this. The trick is the compiler and NVIDIA has their compiler, called CUDA, available for downloading for some time now. CUDA allows compiling regular C/C++ programs to be run mainly on the GPU. Before the release of CUDA, programmers would need to write programs on the GPU language, which means learning something completely new and unusual.
GPGPU has been seen on the academia for a while now improving performance on several specific applications. With the release of the Tesla platform – basically GeForce 8 video cards to be used specifically to process regular programs and not to produce video – NVIDIA showed the commitment of moving GPGPU from a merely research stage to a serious application for the scientific community. Now with the new GTX 200 series NVIDIA wants to do one step further, encouraging software developers to incorporate the GPGPU concept into applications available to the general public.
The rationale behind this idea is that today the GPU – especially high-end models – have far more computing power than CPU’s. In Figure 1, you can see a comparison between the new GeForce GTX 280 chip and a mainstream CPU (Core 2 Duo E8400) and a high-end CPU (Core 2 Extreme QX9650). GFLOPS stands for billions of floating-point (mathematical) operations per second and measures the maximum math performance of a chip.
During their Spring 2008 Editor’s Day, NVIDIA made some demonstrations of how throwing processing that is usually done by the CPU to the GPU can improve performance of regular applications. In Figure 2, you can see an example of how long a 2-hour high-definition movie in H.264 format takes for encoding using several different hardware. The performance boost is amazing, but keep in mind that this isn’t an exclusive feature from GTX 200 series (any video card can do that – programs compiled with CUDA will only work on GeForce 8 and above, though –; see how they are comparing the GTX 280’s performance to a GeForce 9600 GT) and you need a program that uses GPGPU. Don’t get excited thinking that by just adding the new GTX 280 you will have this performance gain. This specific demonstration was done with a program called BadaBOOM, which is a program that converts movies into portable media player formats. This program isn’t available for the general public yet but the same company offers an encoder called RapidHD, which is available for Adobe Premiere Pro and also uses GPGPU.
Another example gave by NVIDIA was Folding@Home, the distributed computing program for analyzing proteins sponsored by Standford University. Each person that downloads and installs this program adds his or her own computer to the program’s network, building a supercomputer using PC’s all around the Globe as nodes. In Figure 3 you see the performance increase on this program, which is capable of using the graphics card to do processing.
In summary, GPGPU isn’t something new and it isn’t exclusive for the new GeForce GTX 200 series, but expect to see more regular programs capable of using the video card’s GPU to process programs. For instance, Adobe announced that the new version of Photoshop to be released on the second half of this year will use the GPU to do some processing and thus increase the performance of the program.
Now let’s talk the GeForce GTX 200 series architecture.