GPGPU
Una GPU es un procesador diseñado para los cómputos implicados en la generación de gráficos 3D interactivos.En cambio, en una GPU, el acceso a memoria está mucho más restringido.Puesto que generalmente no se puede leer y escribir en la misma textura, si esta operación es imprescindible para el desarrollo del algoritmo, éste se debe dividir en varias pasadas.Tradicionalmente, el desarrollo de software GPGPU se había hecho bien en lenguaje ensamblador, o bien en alguno de los lenguajes específicos para aplicaciones gráficas usando la GPU, como GLSL, Cg o HLSL.Otra herramienta con objetivos similares es Sh, una extensión de C++ para metaprogramación con una implementación automática en la GPU.Generalmente, se utilizan 2 o 4 bytes para representar un número real en una GPU, que en comparación con los 4, 8 o más usados en las CPU modernas, no es suficiente para muchas aplicaciones científicas.