GPGPU

Posted on July 17th, 2009.

Hard Drive Recovery - GPGPU

General-purpose computing on graphics processing units (GPGPU) is the technique of using a graphic processing unit to perform computation in applications traditionally handled by the CPU. This is made possible by the addition of programmable stages and higher precision arithmetic to the rendering pipelines. As a result, software developers are able to use stream processing on non-graphics data.

Traditionally, GPU functionality has been very limited. It is designed specifically for graphics, so it is very restrictive in terms of operations and programming. Because of this, GPUs are only effective at tackling problems that can be solved using stream processing and the hardware can only be used in certain ways. Some improvements were needed before GPGPU became feasible.

Programmable vertex and fragment shaders were added to the graphics pipeline to enable game programmers to generate even more realistic effects. Vertex shaders allow the programmer to alter per-vertex attributes, such as position, color, texture coordinates, and normal vector. Programmable fragment shaders allow the programmer to substitute, for example, a lighting model other than those provided by default by the graphics card, typically simple Gouraud shading. Shaders have enabled graphics programmers to create lens effects, displacement mapping, and depth of field.

It is important for GPGPU applications to have high arithmetic intensity (operations performed per word of memory transferred); otherwise, memory access latency will limit computation speed. Ideal GPGPU applications have large data sets, high parallelism, and minimal dependency between data elements.

Make a Comment

Make A Comment: ( None so far )

blockquote and a tags work here.

About

Recovering Your Data

RSS

Subscribe Via RSS

  • Subscribe with Bloglines
  • Add your feed to Newsburst from CNET News.com
  • Subscribe in Google Reader
  • Add to My Yahoo!
  • Subscribe in NewsGator Online
  • The latest comments to all posts in RSS
  • Subscribe in Rojo