Although GPUs have been harnessed to solve non-graphics problems, these
solutions are not widespread because GPUs remain difficult to program.
Instead, an interpreter simplifies the task of programming a GPU by
providing language constructs such as a set of data types and operations
that are more familiar to non-graphics programmers. The interpreter maps
these familiar language constructs to the more difficult graphics
programming languages such as DirectX.RTM., OpenGL.RTM., Cg.RTM., and/or
HLSL.RTM..