General-purpose computing on graphics processing units: Difference between revisions

Content deleted Content added
MaxDZ8 (talk | contribs)
Linked to Stream Processing. Stated that GPGPU is sometimes used to specify 'nicer GPU'.
Line 1:
'''G'''eneral-'''P'''urpose Computing on '''G'''raphics '''P'''rocessing '''U'''nits (also referred to as GPGP and to a lesser extent GP^2) is a recent trend in computer science that uses the [[Graphics_processing_unit|graphicsGraphics processingProcessing unitUnit]] to perform the computations rather than the [[Central processing unit|CPU]].
 
Sometimes, the term "GPGPU" is used to disambiguate between actual GPUs and some kind of future design evolution which will allow easier programming.
 
Game programmers have had the need to make more realistic-looking effects, and this led to programmable [[vertex]] shaders and fragment shaders. Vertex shaders are programs that run on the GPU and allow programmers to specify how the vertices of a geometric shape will be lit. Fragment shaders also run on the GPU and allow programmers to specify how each fragment, or pre-pixel, will be colored. Naturally, more bits per pixel allow a higher range of colors to be used, so graphics cards have increased the number of bits that represent each color component.
 
Now, combine these programs with higher precision arithmetic and the fact that graphics processors computational power has been increasing at an incredibly high rate, and it is easy to see why GPUs are being looked as a powerful processing unit in areas outside their original intended scope of graphics and visualization.
The reasonings behind the massive performance increase being deployed are directly related to hardware design and the programming model used, called [[Stream processing]].
 
The following are some of the non-graphics areas where GPUs have been used for general purpose computing: