GPGPU (unidad de procesamiento de gráficos de propósito general)

Una GPU de propósito general (GPGPU) es una unidad de procesamiento de gráficos (GPU) que realiza cálculos no especializados que normalmente serían realizados por la CPU (unidad central de procesamiento). Por lo general, la GPU se dedica a la renderización de gráficos.

Las GPGPU se utilizan para tareas que anteriormente eran el dominio de las CPU de alta potencia, como cálculos físicos, cifrado / descifrado, cálculos científicos y la generación de monedas cifradas como Bitcoin. Debido a que las tarjetas gráficas están construidas para un paralelismo masivo, pueden empequeñecer la tasa de cálculo incluso de las CPU más potentes para muchas tareas de procesamiento en paralelo. Los mismos núcleos de sombreado que permiten renderizar múltiples píxeles simultáneamente pueden procesar de manera similar múltiples flujos de datos al mismo tiempo. Aunque un núcleo de sombreado no es tan complejo como una CPU, una GPU de gama alta puede tener miles de núcleos de sombreado; por el contrario, una CPU multinúcleo puede tener ocho o doce núcleos.

Ha habido un mayor enfoque en las GPGPU desde que DirectX 10 incluyó sombreadores unificados en sus especificaciones principales de sombreadores para Windows Vista. Se están desarrollando lenguajes de nivel superior todo el tiempo para facilitar la programación de cálculos en la GPU. Tanto AMD / ATI como Nvidia tienen enfoques de GPGPU con sus propias API (OpenCL y CUDA, respectivamente).

La historia de las GPU de uso general
La GeForce 3 de Nvidia fue la primera GPU que contó con sombreadores programables. En ese momento, el propósito era hacer que los gráficos 3D rasterizados fueran más realistas; las nuevas capacidades de GPU permitieron la transformación 3D, el mapeo de relieve, el mapeo especular y los cálculos de iluminación. La GPU 9700 de ATI, la primera tarjeta compatible con DirectX 9, se acercó a la flexibilidad de programación de las CPU, aunque en ese momento se hicieron pocos cálculos de propósito general. Con la introducción de Windows Vista, incluido con DirectX 10, los núcleos de sombreado unificados se especificaron como parte del estándar. El potencial recién descubierto de la GPU, el rendimiento demostrado aumenta varios órdenes de magnitud con respecto a los cálculos basados ​​en la CPU.

GPGPU y el futuro de los gráficos por computadora
Las GPU que se desarrollaron originalmente para acelerar el 3D rasterizado (ya que el trazado de rayos era demasiado caro en términos de cálculo) han superado el rendimiento de las CPU para gráficos pre-renderizados con trazado de rayos. Aunque el trazado de rayos aún no se utiliza en los juegos, ha habido demostraciones en tiempo real. Los avances de las GPGPU significan que, en un futuro no muy lejano, los gráficos por computadora deberían ser capaces de tener el mismo tipo de geometría e iluminación intensivas que las películas en 3D.