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: , , , , ,

Si te gustó esta entrada anímate a escribir un comentario o suscribirte al feed y obtener los artículos futuros en tu lector de feeds.

Comentarios

[...] En 2008 Jaguar contenía del orden de 150.000 núcleos de procesamiento y llegó a la segunda posición del ranking. En 2009 ya sufrió un upgrade para escalar a la primera posición, montando una arquitectura Cray XT5 formada por 18688 nodos de 2 CPUs AMD Opteron, cada una de las cuales contaba con 6 cores, y haciendo un total de 224256 núcleos de procesamiento para ofrecer casi 2 Petaflops (2×10^15 operaciones en coma flotante por segundo). La nueva mejora a Titan supone la migración a la arquitectura más reciente Cray XK5 y obtener un factor x10 en capacidad computacional. En una primera fase se sustituían las CPUs de 6 núcleos por unas de 16, pasando a 299008 núcleos de procesamiento. Posteriormente, se incluyeron racks de procesadores gráficos NVIDIA Tesla M2090 de la familia Fermi que terminarán evolucionando a Tesla K20 de la familia Kepler, la más moderna de NVIDIA y que aquí ya presentamos. [...]

[...] Que la tecnología va más rápido que su uso es un hecho casi indiscutible, apenas hemos entendido un dispositivo cuando toca renovarlo. En el campo de la supercomputación también ocurre, y ejemplos recientes de ello hemos tenido en los últimos años. Hoy tratamos un ejemplo en el post de “la caída de los titanes”, recordando el famoso cuadro de Cornelis van Haarlem, el supercomputador de moda en el Top500, Titan, y el último procesador gráfico de NVIDIA, el Geforce GTX Titan basado en la tecnología Kepler. [...]

[...] presentamos por estas líneas, hoy han tomado la cima con el Tianhe-2, escalando por encima de los NVIDIA Kepler, que debutaron también en 2012 tras el éxito de su anterior generación NVIDIA Fermi (hoy por hoy [...]

hola


*