Posts etiquetados con ‘GPGPU’

Kepler: una evolución de los procesadores gráficos de NVIDIA

La semana pasada estuvimos en la conferencia de presentación de novedades de la marca de procesadores gráficos NVIDIA. La GPU Technology Conference (GTC) de 2012 ha presentado ante casi 3000 asistentes las novedades tecnológicas de esta reputada marca de chips gráficos que se está ganando un puesto en el área de la supercomputación (de consumo, o no).

De forma resumida, los orígenes de las GPUs (Graphics Processing Units, unidades de procesamiento gráfico, en contraposición de las CPUs/unidades de procesamiento central) se pueden centrar a primeros de los 90 para reducir el coste computacional del renderizado gráfico, especialmente en aplicaciones 3D en las que la escena 2D proyectada en pantalla viene determinada por muchos cálculos de proyección. Los videojuegos han sido el motor básico de las evoluciones que han tenido lugar en estos componentes, y donde su especial característica arquitectónica ha sido el paralelismo intrínseco que ofrecen debido a la propia naturaleza de los problemas que abordan (renderizado). Este paralelismo “innato” colocó a la arquitectura gráfica en un lugar privilegiado a finales de los 90 y primeros de la pasada década para que investigadores de todo el mundo generaran un movimiento que inicialmente se denominó GPGPU o computación de propósito general utilizando GPUs (General Purpose computation using GPUs). Y es que el poder de cómputo que podían ofrecer estos chips gráficos a problemas computacionales de todo tipo resultaba muy atractivo para los investigadores (muy comentado en este blog por cierto, ver entradas que tocan este tema más abajo). Desde el año 2002 hasta el año 2005 surgieron muchas aproximaciones para tratar estos problemas desde un punto de vista gráfico y en 2006 NVIDIA lanzó un interfaz HW/SW denominado CUDA (de Compute Unified Device Arquitecture, y por cierto, término que ahora reniega la propia NVIDIA) y el campo GPGPU pasó a denominarse GPU Computing (computación en GPU). CUDA permitía aprovechar los recursos paralelos de las GPUs de NVIDIA de una manera más accesible a programadores e investigadores no experimentados con el área de gráficos por computador.

En el GTC de la pasada semana NVIDIA ha presentado la versión 5.0 de CUDA (que ya estaba en versión beta para desarrolladores) así como la arquitectura Kepler, una evolución notable de sus chips gráficos, quizá no sobresaliente (la evolución) como lo fuera la evolución de la familia Fermi (presentada en la edición anterior del GTC), pero aún muy grata.

 

Básicamente se presentaron 3 grandes mejoras respecto a la anterior familia, justificadas por todo tipo de factores de mejora y el mediatismo propio de una gran presentación como el incremento a más de 7000 millones de transistores integrados en un procesador. La primera novedad fue la evolución de los multiprocesadores de streams (streaming multiprocessors, SM) en una versión extendida (SMX) con capacidad de 192 procesadores escalares (CUDA cores) en lugar de los 32 anteriores, una mejora más que significativa. La segunda novedad es la capacidad de crear lanzamientos de subprogramas en el dispositivo gráfico (denominados kernels) desde otros subprogramas que se ejecutan en la GPU con parámetros variables en tiempo de ejecución. Esta capacidad puede simplificar ciertas tareas de sincronización e, incluso, se puede crear cálculos recursivos en GPU (algo que estaba prohibido anteriormente). A esta capacidad de lanzar subprogramas con parámetros variables la han denominado Dynamic Parallelism o paralelismo dinámico, característica muy interesante para refinar el cómputo en determinadas estructuras de datos, como el sugerente árbol de cómputo de la simulación del colapso de dos galaxias que se demostró en el GTC. La tercera gran capacidad de la familia Kepler es lo que denominan Hyper-Q, que no es más que la creación de varias colas de trabajo independientes para diferentes hilos de un procesador CPU con varios núcleos de procesamiento, quizá algo menos innovador por la natural evolución a múltiples núcleos de procesamiento de las plataformas CPU.

La parte negativa, es que estas tres capacidades anteriores estarán soportadas en la versión GK110 del procesador, no disponible hasta finales de año, y cuya versión ahora disponible (la GK104) solo incluyen los SMX.

En cualquier caso, felicidades NVIDIA, por la organización del fantástico evento GTC como por el nacimiento de Kepler.

Aquí tenéis un video-resumen del GTC:

Imagen de previsualización de YouTube

Enlaces sobre la noticia:

GTC: http://www.gputechconf.com/

Información sobre Kepler: http://www.nvidia.com/object/nvidia-kepler.html

White Paper: http://www.nvidia.com/content/PDF/kepler/NVIDIA-Kepler-GK110-Architecture-Whitepaper.pdf

Noticias anteriores de procesamiento en GPU:

http://www.madrimasd.org/blogs/supercomputacion_de_consumo/2009/12/06/129786

http://www.madrimasd.org/blogs/supercomputacion_de_consumo/2009/01/29/111970

http://www.madrimasd.org/blogs/supercomputacion_de_consumo/2008/12/10/109037

http://www.madrimasd.org/blogs/supercomputacion_de_consumo/2008/10/16/103763

Etiquetas: , , , , ,

Intel adquiere Rapidmind

Rapidmind, la empresa creada hace 5 años por el profesor Michael McCool de la Universidad de Waterloo, fue adquirida por Intel hace una semana. Rapidmind se creó con la vista puesta en la comercialización del sistema de programación Sh que conseguía adaptar y optimizar algoritmos a diferentes plataformas de consumo y altas prestaciones que surgieron a partir de los aceleradores (procesadores gráficos y variados multiprocesadores). Rapidmind creció rápidamente gracias al desarrollo de las arquitecturas multicore para ordenadores personales, que compartían la misma filosofía que los aceleradores citados, así como a la euforia de algunos desarrolladores y empresas por poder adaptar sus algoritmos a variadas arquitecturas sin la necesidad de recodificar en diferentes entornos. Un mismo código, con ayuda de las librerías de Rapidmind, podía ser ejecutado en un procesador basado en múltiples núcleos, en un procesador IBM Cell o en una tarjeta gráfica, sin necesidad de conocer detalles íntimos de estas diferentes plataformas. Como dato histórico, Google adquirió en 2007 Peakstream Inc., otra empresa con objetivos parecidos a los de Rapidmind.

(más…)

Etiquetas: , , ,
Categorias: General

ANACAP 2008: La primera oportunidad en España para el cómputo de altas prestaciones en arquitecturas de consumo

Recientemente, novedosas plataformas de consumo están irrumpiendo en el terreno de la Computación de Altas Prestaciones. Procesadores gráficos y videoconsolas son algunas de las propuestas que están siendo explotadas por los investigadores para mejorar el rendimiento de sus soluciones. El Workshop de Aplicaciones de Nuevas Arquitecturas de Consumo y Altas Prestaciones (ANACAP) pretende ser un punto de encuentro de investigadores nacionales que usen estas tecnologías para acelerar sus soluciones algorítmicas, así como un foro para promover e incentivar nuevas propuestas de cómputo optimizado para problemas de propósito general.

(más…)

Etiquetas: , , , ,
Categorias: General

Procesadores gráficos como supercomputadores de consumo: Intro

Como procesadores gráficos de consumo nos referimos a los chips que incorporan las habituales tarjetas gráficas incluidas en nuestros ordenadores de sobremesa. La misión fundamental de estos sistemas es la de conseguir una imagen final en pantalla, y para la mayor parte de las aplicaciones diarias (gestor de correo electrónico, navegación por Internet, editor de textos, hoja de cálculo, etc.) el procesador gráfico apenas realiza un cómputo exigente. Por esta razón, muchos fabricantes y montadores de equipos finales incluyen tarjetas gráficas integradas, de bajo consumo, de pequeñas dimensiones, de bajo coste y de gran funcionalidad.

 

(más…)

Etiquetas: , , , , ,
Categorias: General