Kepler es el nombre que recibe una microarquitectura de GPU desarrollada por Nvidia, introducida en el mercado en abril de 2012 como la sucesora de la arquitectura Fermi. Este avance en el diseño de GPU se caracterizó por su enfoque en la eficiencia energética, la programabilidad y el rendimiento, marcando un hito en la industria de los videojuegos y la computación.
Origen y desarrollo
La arquitectura Kepler lleva el nombre del matemático alemán Johannes Kepler, figura clave en la revolución científica del siglo XVII. Su desarrollo estuvo a cargo de Nvidia y fue fabricada por TSMC utilizando un proceso de 28 nm.
Kepler fue la primera arquitectura de Nvidia que priorizó la eficiencia energética, lo que se logró mediante el uso de un reloj de GPU unificado, una programación de instrucciones simplificada y un mayor énfasis en el rendimiento por vatio.
Características clave de Kepler
La arquitectura Kepler incorporó una serie de características innovadoras que la distinguieron de sus predecesoras, entre ellas:
- Interfaz PCI Express 0
- DisplayPort 2
- Salida de vídeo HDMI 4a 4K x 2K
- Aceleración de video de hardware PureVideo VP5
- Bloque de aceleración de codificación de hardware H.264 (NVENC)
- Soporte para hasta 4 pantallas 2D independientes o 3 pantallas estereoscópicas/3D (NV Surround)
- Multiprocesador de transmisión de próxima generación (SMX)
- Polymorph-Engine 0
- Programador de instrucciones simplificado
- Texturas sin encuadernación
- Capacidad de cómputo CUDA 0 a 5
- GPU Boost
- Soporte TXAA
- Instrucciones aleatorias
- Paralelismo dinámico
- Hyper-Q
- Unidad de Gestión de Red
- NVIDIA GPUDirect
El Multiprocesador de Transmisión (SMX): Un corazón eficiente
Kepler empleó una nueva arquitectura de multiprocesador de transmisión llamada SMX. Los SMX fueron la clave para la eficiencia energética de Kepler, ya que toda la GPU utilizaba una única velocidad de reloj unificada. Aunque esto implicó un aumento en el número de núcleos CUDA necesarios para lograr un rendimiento equivalente a las arquitecturas anteriores, el consumo de energía se redujo significativamente.
Los SMX también se mejoraron en otros aspectos, como la duplicación del número de registros por subproceso y la adición de capacidades de detección de errores para aumentar la seguridad en las cargas de trabajo.
Programador de instrucciones simplificado: Mayor eficiencia
La arquitectura Kepler también se benefició de un programador de instrucciones simplificado, que permitió reducir el espacio en el troquel y el consumo de energía. Esto se logró mediante la eliminación de un bloque de hardware complejo que manejaba la prevención de riesgos de datos.
GPU Boost: Desempeño optimizado
Kepler introdujo GPU Boost, una función similar a la aceleración turbo de las CPU. Esta función permitió que la GPU operara a una velocidad de reloj mínima, denominada "reloj base", que garantizaba que se mantuviera dentro de las especificaciones de TDP (Thermal Design Power). Sin embargo, cuando las cargas eran más bajas, GPU Boost aumentaba gradualmente la velocidad del reloj, lo que permitía obtener el máximo rendimiento posible sin exceder el TDP.
Soporte para Microsoft Direct3D
Las GPU Kepler de la serie GeForce 600 eran compatibles con la especificación Direct3D Si bien Nvidia inicialmente anunció compatibilidad total con DirectX 11, algunas funciones de "interfaz de usuario moderna" no fueron compatibles.
TXAA: Un nuevo estándar en antialiasing
TXAA, una tecnología exclusiva de las GPU Kepler, fue un nuevo método de antialiasing desarrollado por Nvidia que se implementó directamente en los motores de juegos. TXAA se basaba en la técnica MSAA y filtros de resolución personalizados, y estaba diseñado para abordar un problema clave en los juegos conocido como "shimmering" o aliasing temporal. TXAA resolvía este problema al suavizar la escena en movimiento, eliminando el aliasing y el brillo en las escenas de juego.
Innovaciones en las instrucciones y el paralelismo
Kepler introdujo nuevas instrucciones aleatorias, que permitían que los subprocesos dentro de un warp compartieran datos sin volver a la memoria, lo que aceleraba el proceso. También se implementaron nuevas operaciones atómicas, lo que mejoraba la velocidad de ejecución de las operaciones atómicas y se agregaron algunas operaciones FP64 (precisión doble) que anteriormente solo estaban disponibles para datos FP32 (precisión simple).
Hyper-Q fue otra característica notable de Kepler. Esta función amplió las colas de trabajo del hardware de 1 a 32, lo que permitió una mayor utilización de la GPU al poder poner diferentes flujos de tareas en SMX inactivos. Hyper-Q también se adaptó fácilmente a MPI (Message Passing Interface), una interfaz de paso de mensajes común utilizada en HPC (High Performance Computing).
El paralelismo dinámico fue otra innovación de Kepler, que permitía que los núcleos enviaran otros núcleos. Esto eliminó la sobrecarga de tener que comunicarse con la CPU para enviar un kernel, ya que los núcleos podían enviar sus propios núcleos secundarios, ahorrando tiempo y liberando la CPU para otras tareas.
NVIDIA GPUDirect: Comunicación eficiente
NVIDIA GPUDirect fue una capacidad que permitía que las GPU dentro de una sola computadora o en diferentes servidores conectados a una red intercambiaran datos directamente, sin necesidad de ir a la CPU o la memoria del sistema. Esto redujo significativamente la latencia del envío y recepción de mensajes MPI hacia/desde la memoria GPU, liberando los motores GPU DMA para otras tareas de CUDA.
Rendimiento de la arquitectura Kepler
La potencia teórica de procesamiento de precisión simple de una GPU Kepler en GFLOPS (gigaflops) se calculaba como 2 (operaciones por instrucción FMA por núcleo CUDA por ciclo) × número de núcleos CUDA × velocidad de reloj del núcleo (en GHz). Sin embargo, Kepler no podía beneficiarse de una mayor potencia de procesamiento mediante la emisión dual de MAD+MUL como lo hizo la arquitectura Fermi.
En cuanto a la potencia de procesamiento de doble precisión, Kepler GK110/210 tenía un rendimiento que era 1/3 de su rendimiento de precisión simple. Este rendimiento de doble precisión solo estaba disponible en las tarjetas profesionales Quadro, Tesla y GeForce de la marca TITAN de gama alta, mientras que los controladores para las tarjetas GeForce de consumo limitaban el rendimiento a 1/24 del rendimiento de precisión simple.
Chips Kepler: Una variedad de opciones
Kepler se implementó en una serie de chips diferentes, cada uno con sus propias características y rendimiento. Algunos de los chips más importantes incluyen:
- GK104
- GK106
- GK107
- GK110
- GK208
- GK210
- GK20A (Tegra K1)
Legado de Kepler: Un hito en la industria
La arquitectura Kepler de Nvidia marcó un hito en la evolución de las GPU, especialmente por su enfoque en la eficiencia energética. Su impacto se sintió en la industria de los videojuegos, donde permitió la creación de juegos más complejos y visualmente impresionantes, y en la computación de alto rendimiento (HPC), donde permitió la realización de cálculos científicos de mayor escala y complejidad.
Kepler allanó el camino para las futuras arquitecturas de GPU de Nvidia, como Maxwell y Pascal, que continuaron mejorando el rendimiento y la eficiencia energética. La arquitectura Kepler dejó un legado duradero en la industria tecnológica, contribuyendo significativamente al avance de la computación gráfica y la informática.
Si quieres conocer otros artículos parecidos a Motor kepler: la arquitectura de gpu que marcó un hito en la eficiencia puedes visitar la categoría Motor.