An interesting feature of the current, and future, generation of graphics processing units, GPU, is their ability to be programmed to process a massive amount of data in parallel...and the application using the GPU to accelerate data processing does not even have to be graphics related.
Stanford University recently upgraded their [email protected]
software ( works pretty much like [email protected]
, but is used to gain greater knowledge about diseases like cancer, Alzheimers disease etc) to make use of the power in the ATI GPUs, resulting in a massive performance increase.
By writing highly optimized, hand tuned code to run on ATI X1900 class GPU’s, the science of [email protected] will see another 20x to 30x speed increase over its previous software (Gromacs) for certain applications. This great speed increase is achieved by running essentially the complete molecular dynamics calculation on the GPU
Recently NVidia released their latest generation of graphics cards, the 8800 series, using the G80 GPU, supporting "General purpose processing". What is especially cool with the latest gadget from NVidia is that they have developed a C compiler to make it easier for a programmer to use the GPU for general purpose processing. Check out this page on Anandtech.
It sure will be interesting to see when ordinary CPU intense apps start to use GPU:s to speed up the data processing. Apps that benefit the most are of course those that gain the most from running multiple threads, i.e. dual core friendly apps, and the algorithm must also process data in ways that the GPU is especially good at.
Media encoders would benefit a lot. I sure wouldn't mind a 10 times faster mpeg4 or mpeg2 encoder. ATI actually made a Video converter that used the GPU in their X1xxx series of grahpics cards, but according to people that know about video quality it was fast but the quality was poor compared to the good free ones available...