GPGPU

0 Flares Twitter 0 Facebook 0 Google+ 0 LinkedIn 0 Buffer 0 Email -- 0 Flares ×

Aunque no es una noticia de útlima hora, me sigue pareciendo muy interesante el concepto de GPGPU o General-Purpose Computing on Graphics Processing Units.

La idea es utilizar la increíble potencia de las GPUs para ejecutar tareas de propósito general en algunas tarjetas gráficas. ¿Y qué es una GPU? Pues una unidad de procesamiento gráfico, es decir, como la CPU o procesador central del ordenador, pero para gráficos. Inicialmente se pensó para ayudar al procesador central: le quitaba determinados trabajo pues implementaban ciertan funciones gráficas conocidas como primitivas (dibujar un rectángulo, dibujar un arco, etc…).

Pero con el desarrollo de los juegos de ordenador, estos procesadores “auxiliares” fueron creciendo y mejorando, con la ventaja añadida de que no es una unidad de propósito general, sino que es un elemento muy especializado. Y esto le ayudó a evolucionar cada vez más rápido, si bien no en conceptos tales como la velocidad de reloj (están lejos de los valores que dan las CPU) sino en su arquitectura, pensada para el procesamiento en paralelo y las operaciones en coma flotante, tan necesarias para el cálculo gráfico.

Como dato curioso, veamos una diferencia fundametal: el número de núcleos de casa procesador.

  • CPU
    • 2 Núcleos (Intel Core Duo)
    • 4 Núcleos (Intel Quad)
  • GPUs
    • 22 Núcleos (GeForce 6800 Ultra)
    • 32 Núcleos (GeForce 7800 GTX)
    • 56 Núcleos (Radeon X1900XTX)
    • 128 Núcleos (GeForce 8800 GTX)

Esto hace que los mencionados procesadores se estén utilizando en diversos campos de la computación, como:

  • Simulación física
  • Minería de datos
  • Visión por computador
  • Inteligencia artificial
  • Procesamiento de señales
  • Criptografía
  • Algunos menos recomendables, como utilizar su fuerza bruta para desproteger passwords

Y aquí no quedará la cosa. Las GPUs siguen evolucionando a mayor velocidad que las CPU por dos motivos principales: la naturaleza arquitectural de las GPUs y como no, por un tema de vuerte valor económico: la industria del videojuego. Como dato, extraído de esta presentación sobre programación de GPUs, las capacidades de las CPUs se multiplican por 1,5 cada año, mientras que las de las GPUs se multiplican por 2:

  • Evolución CPU ~1.5x año -> ~60x década
  • Evolución GPU ~2.0x año -> >1000x década

Saludos.

0 Flares Twitter 0 Facebook 0 Google+ 0 LinkedIn 0 Buffer 0 Email -- 0 Flares ×

Acerca de Vicente Millán

Technology and consulting lover
Esta entrada fue publicada en Evolución tecnológica, Nuevas Tecnologías y etiquetada , , , , . Guarda el enlace permanente.