La Cofa

Observatorio tecnológico

Un espacio dedicado a la vigilancia tecnológica sobre el futuro de Internet, la banda ancha y la movilidad, y otros temas relacionados con la sociedad digital.

Telos

GPGPU: Nuevos modos de computación

27 mayo 2008

Red NeuronalGPGPU (General-Purpose Computing on Graphics Processing Units) es una técnica de computación que utiliza las capacidades de las GPU’s (Graphics Processing Units) para resolver problemas diferentes de los tradicionales de procesado de gráficos.

Usadas convenientemente pueden obtener unos resultados muy interesantes para la resolución de determinados problemas.

Dadas las características de las tarjetas gráficas actuales como su bajo coste, elevada potencia de cálculo, grandes capacidades de computación paralela y optimización ara cálculos en coma flotante se consideran muy útiles para usos diferentes de los que originalmente fueron concebidas. Se han desarrollado técnicas especialmente centradas en simulación y clustering. Las GPU’s se han convertido en procesadores extremadamente flexibles y potentes.

Aunque cualquier algoritmo implementado en una CPU es susceptible de implementarse en una GPU el resultado final, en cuestiones de eficiencia, dista mucho entre ambas. Los algoritmos fácilmente paralelizables muestran un mejor rendimiento en las GPU’s mientras que en caso contrario se muestra mas eficiente en una CPU.

¿Porque las GPU’s están convirtiéndose rápidamente en procesadores tan potentes? Principalmente por dos razones:

  • Económicas. Los miles de millones de euros invertidos en el mercado de los videojuegos está impulsando la innovación en este campo.
  • Capacidad de cálculo aritmético. La naturaleza de las GPU’s hacen sencilla la incorporación de transistores adicionales para elevar la capacidad de cómputo.

El objetivo final es aprovechar la excelente relación "coste/capacidad de calculo", de las GPU’s, para así disponer de un coprocesador adicional de gran capacidad de computación.

La evolución de las GPU’s, en cuestión de GFLOPS (gigaFLOPS, Floating point Operations Per Second), es mayor que en las CPU’s:

Velocidad

A continuación se muestra la evolución en capacidad de cómputo de las GPU’s:

GPGPU

La principal critica con la que cuenta está técnica es la falta de estandarización y discontinuidad de las arquitecturas de las tarjetas gráficas, lo que puede implicar la adaptación continua de los desarrollos existentes a los nuevos modelos de GPU’s para conseguir un mejor rendimiento.

Algunas aplicaciones de propósito general para las que se utiliza esta técnica son:

  • Grid computing (red virtual de computación)
  • Simulaciones físicas
  • Procesado de señal de audio, uso de las GPU’s para técnicas de DSP (digital signal processing)
  • Procesado del habla
  • Aplicaciones científicas
  • Predicción del tiempo
  • Investigación climática (como por ejemplo investigación del calentamiento global)
  • Modelos moleculares
  • Mecánica cuantica
  • Bioinformática
  • Aplicaciones de predicción financiera y de mercados
  • Imagen médica
  • Visión artificial
  • Redes neuronales
  • Bases de datos
  • Criptografía y criptoanálisis

Referencias:

  1. Wikipedia
  2. GPGPUs: Neat Idea or Disruptive Technology?
  3. Gpgpu.org

3 comentarios

  • Antonio says:

    Un artículo interesante. Yo añadiría que esta técnica se está extendiendo y haciendo popular no solo por la gran capacidad de cáculo de las GPUs. Sino también por la gran capacidad de cálculo que que tienen las videoconsolas de hoy en día y su bajo coste. De esta forma con unas cuantas consolas pueden montar un cluster muy potente aprovechando la potencia de sus CPUs y sus GPUs.

    Saludos.

  • Gregorio says:

    En relación a esto, es interesante y curioso echar un vistazo al proyecto elaborado por la Universidad Politécnica de Catalunya, para usar las GPU y CPU de la videoconsola PlayStation3 como terminal [cuando no estén siendo usadas otras ‘aplicaciones’] de cómputo para la red de supercomputación en grid voluntaria BOINC.

  • Jordi says:

    Los algoritmos fácilmente paralelizables muestran un mejor rendimiento en las GPU’s mientras que en caso contrario se muestran más eficientes en una CPU.

    Muy interesante. Se agradece el enlace y la noticia.

    Visto en Barrapunto: http://barrapunto.com/articles/08/12/03/1850220.shtml

Deja un comentario

Tu dirección de correo electrónico no será publicada.

 

POST RELACIONADOS