NVIDIA nos muestra con más detalle lo que trae su nueva arquitectura Turing, la que se complementa con todo lo ya visto y nos enseña porque esta nueva generación ofrecerá nuevas tecnologías al mundo gráfico.
Nuevo multiprocesador de transmisión (SM).
Turing presenta una nueva arquitectura de procesador, Turing SM, ofrecindo un aumento espectacular en la eficacia de sombreado, logrando una mejora del 50% en el rendimiento entregado por CUDA Core comparada con la generación Pascal. Estas mejoras están habilitadas por dos cambios arquitectónicos clave. En primer lugar, Turing SM agrega una nueva ruta de datos entera independiente que puede ejecutar instrucciones simultáneamente con la ruta de datos matemáticos de coma flotante. En generaciones anteriores, la ejecución de estas instrucciones habría bloqueado la emisión de instrucciones de coma flotante. En segundo lugar, la ruta de la memoria SM se ha rediseñado para unificar la memoria compartida, el almacenamiento en memoria caché de texturas y el almacenamiento en memoria caché de memoria en una unidad. Esto se traduce en 2 veces más ancho de banda y más de 2 veces más capacidad disponible para caché L1 en cargas de trabajo comunes.
Turing Tensor Cores.
Los núcleos Tensor son unidades de ejecución especializadas, diseñadas específicamente para realizar operaciones de tensor/matriz que son la función de cómputo principal utilizada en “Deep Learning”. De forma similar a los Núcleos Tensor Volta, los Núcleos Tensor de Turing proporcionan altas aceleraciones para cálculos matriciales el corazón del aprendizaje de la red neuronal profunda y operaciones de inferencia. Las GPU Turing incluyen una nueva versión del diseño de los núcleos Tensor que se ha mejorado para la inferencia. Los núcleos de Turing agregan nuevos modos de precisión INT8 e INT4 para inferencia de cargas de trabajo que pueden tolerar la cuantificación y no requieren precisión FP16. Turing Tensor ofrece por primera vez nuevas capacidades de inteligencia artificial basadas en el aprendizaje profundo para las PC de juegos con GeForce y las estaciones de trabajo basadas en Quadro. Una nueva técnica llamada Deep Learning Super Sampling (DLSS) está impulsada por Tensor Cores. DLSS aprovecha una red neuronal profunda para extraer las características multidimensionales de la escena renderizada y combinar de forma inteligente los detalles de múltiples marcos para construir una imagen final de alta calidad. DLSS utiliza menos muestras de entrada que las técnicas tradicionales como TAA, al tiempo que evita las dificultades algorítmicas que tales técnicas enfrentan con la transparencia y otros elementos de escena complejos.
Aceleración de Ray Tracing en tiempo real.
Turing introduce el trazado de rayos o Ray Tracing en tiempo real que permite a una sola GPU renderizar juegos 3D visualmente realistas y complejos modelos profesionales con sombras, reflejos y refracciones físicamente precisas. Los nuevos RT Cores de Turing aceleran el trazado de rayos y son aprovechados por sistemas e interfaces como la tecnología de Ray Tracing RTX de NVIDIA y APIs como Microsoft DXR, NVIDIA OptiX ™ y Ray Tracing Vulkan para ofrecer una experiencia de Ray Tracing en tiempo real.
Nuevos adelantos de sombreado:
Sombreado de malla.
El sombreado de malla adelanta la arquitectura de procesamiento de geometría de NVIDIA al ofrecer un nuevo modelo de sombreado para las etapas de sombreado de vértices, teselaciones y geometrías de la tubería de gráficos, que admite enfoques más flexibles y eficientes para el cálculo de la geometría. Este modelo más flexible posibilita, por ejemplo, admitir un orden de magnitud con más objetos por escena, desplazando el cuello de botella de la listas de objetos fuera de la CPU hacia programas de sombreado de malla de GPU altamente paralelos. El sombreado de malla también permite nuevos algoritmos para la síntesis geométrica avanzada y el manejo de objetos LOD.
Sombreado de tasa variable (VRS)
VRS permite a los desarrolladores controlar dinámicamente la tasa de sombreado, sombreando tan solo una vez cada dieciséis píxeles o hasta ocho veces por píxel. La aplicación específica la tasa de sombreado usando una combinación de una superficie de sombreado y un valor “per-primitive” (triángulo). VRS es una herramienta muy poderosa que permite a los desarrolladores sombrear más eficientemente, reduciendo el trabajo en regiones de la pantalla donde el sombreado de resolución total no daría ningún beneficio visible a la calidad de imagen, y por lo tanto, mejoraría la velocidad de cuadros. Ya se han identificado varias clases de algoritmos basados en VRS, que pueden variar el trabajo de sombreado según el nivel de detalle del contenido (sombreado adaptable de contenido), la velocidad de movimiento de contenido (sombreado adaptable al movimiento) y las aplicaciones de realidad virtual, resolución de lente y posición del ojo (Renderizado Foveated).
Sombreado de textura y espacio
Con el sombreado del espacio de textura, los objetos se sombrean en un espacio de coordenadas privado (un espacio de textura) que se guarda en la memoria, y los sombreadores de píxeles toman muestras de ese espacio en lugar de evaluar los resultados directamente. Con la capacidad de almacenar en caché los resultados de sombreado en la memoria y reutilizarlos / volver a muestrearlos, los desarrolladores pueden eliminar el trabajo de sombreado duplicado o utilizar diferentes enfoques de muestreo que mejoran la calidad.
Representación de múltiples vistas (MVR)
MVR amplía poderosamente el paso único estéreo (SPS) de Pascal. Mientras que SPS permitió la representación de dos vistas que eran comunes, excepto por un desplazamiento X, MVR permite la representación de múltiples vistas en una sola pasada, incluso si las vistas se basan en posiciones de origen o direcciones de vista totalmente diferentes. El acceso se realiza a través de un modelo de programación simple en el que el compilador automáticamente considera el código independiente de la vista, al tiempo que identifica los atributos dependientes de la vista para una ejecución óptima.
Funciones de aprendizaje profundo para gráficos
NVIDIA NGX ™ es el nuevo marco de gráficos neuronales basado en el aprendizaje profundo de la tecnología NVIDIA RTX. NVIDIA NGX utiliza redes neuronales profundas (DNN) y un conjunto de «servicios neuronales» para realizar funciones basadas en inteligencia artificial que aceleran y mejoran los gráficos, la representación y otras aplicaciones del lado del cliente. NGX emplea Turing Tensor Core para operaciones de aprendizaje profundo y acelera la entrega de la investigación de aprendizaje profundo de NVIDIA directamente al usuario final. Las características incluyen NGX DLSS de ultra alta calidad (Deep Learning Super-Sampling), AI InPainting reemplazo de imágenes con contenido sensible, AI Slow-Mo de muy alta calidad y suave cámara lenta, y resolución de cambio de imagen inteligente de AI Super Rez.
Funciones de aprendizaje profundo para la inferencia
Las GPU de Turing ofrecen un rendimiento de inferencia excepcional. Los núcleos de Turing Tensor, junto con las continuas mejoras en las bibliotecas TensorRT (marco de inferencia de tiempo de ejecución de NVIDIA), CUDA y CuDNN, permiten a las GPU de Turing ofrecer un rendimiento excepcional para aplicaciones de inferencia. Los Núcleos Tensor de Turing también agregan soporte para operaciones de matriz INT8 rápidas para acelerar significativamente el rendimiento de la inferencia con una mínima pérdida de precisión. Nuevas operaciones de matriz INT4 de baja precisión ahora son posibles con Turing Tensor Cores y permitirán la investigación y el desarrollo en redes neuronales sub 8 bits.
Subsistema de memoria de alto rendimiento GDDR6
Turing es la primera arquitectura de GPU compatible con la memoria GDDR6. GDDR6 es el próximo gran avance en el diseño de memoria DRAM GDDR de gran ancho de banda. Los circuitos de interfaz de memoria GDDR6 en las GPU de Turing han sido completamente rediseñados para lograr velocidad, eficiencia energética y reducción de ruido, logrando velocidades de transferencia de 14 Gbps con una eficiencia energética mejorada del 20% en comparación con la memoria GDDR5X utilizada en las GPU de Pascal.
NVLink NVIDIA de segunda generación
Las GPU Turing10 y TU104 incorporan la interconexión de alta velocidad NVLink ™ de NVIDIA para proporcionar conectividad confiable, de gran ancho de banda y baja latencia entre pares de GPU de Turing. Con hasta 100 GB / s de ancho de banda bidireccional, NVLINK posibilita que muchas cargas de trabajo personalizadas se dividan eficientemente en dos GPU y compartan capacidad de memoria. Para las cargas de trabajo de juegos, el ancho de banda incrementado de NVLINK y el canal entre GPU dedicado habilita nuevas posibilidades para SLI, como nuevos modos o configuraciones de visualización de mayor resolución. Para grandes cargas de trabajo de memoria, incluidas las aplicaciones profesionales de ray tracing, los datos de escena pueden dividirse en el búfer de cuadros de ambas GPU, ofreciendo hasta 96 GB de memoria intermedia de cuadro compartido (dos GPU Quadro RTX 8000 de 48 GB) y las solicitudes de memoria se enrutan automáticamente por hardware a la GPU correcta en función de la ubicación de la asignación de memoria.
USB-C y VirtualLink
Las GPU de Turing incluyen soporte de hardware para USB Type-C ™ y VirtualLink ™ 4. VirtualLink es un nuevo estándar abierto de la industria que se está desarrollando para satisfacer las demandas de potencia, pantalla y ancho de banda de los auriculares VR de próxima generación a través de un único conector USB-C. Además de aliviar las molestias de configuración presentes en los auriculares VR de hoy, VirtualLink traerá realidad virtual a más dispositivos.
En comparativa, tenemos esta tabla que muestra los últimos GPU de NVIDIA, Pascal y Turing, y las tarjetas mas representativas. En este caso, los GPUs tope de línea de cada familia GP102 por el lado de «Pascal», y TU102 por «Turing».
GTX 1080Ti | RTX 2080Ti | Quadro 6000 | Quadro RTX 6000 | |
---|---|---|---|---|
Arquitectura | Pascal | Turing | Pascal | Turing |
GPCs | 6 | 6 | 6 | 6 |
TPCs | 28 | 34 | 30 | 36 |
SMs | 28 | 68 | 30 | 72 |
CUDA Cores / SM | 128 | 64 | 128 | 64 |
CUDA Cores / GPU | 3584 | 4352 | 3840 | 4608 |
Tensor Cores / SM | NA | 8 | NA | 8 |
Tensor Cores / GPU | NA | 544 | NA | 576 |
RT Cores | NA | 68 | NA | 72 |
GPU Base Clock MHz (Reference / Founders Edition) | 1480 / 1480 | 1350 / 1350 | 1506 | 1455 |
GPU Boost Clock MHz (Reference / Founders Edition) | 1582 / 1582 | 1545 / 1635 | 1645 | 1770 |
RTX-OPS (Tera-OPS) (Reference / Founders Edition) | 11.3 / 11.3 | 76 / 78 | NA | 84 |
Rays Cast (Giga Rays/sec) (Reference / Founders Edition) | 1.1 / 1.1 | 10 / 10 | NA | 10 |
Peak FP32 TFLOPS (Reference/Founders Edition) | 11.3 / 11.3 | 13.4 / 14.2 | 12.6 | 16.3 |
Peak INT32 TIPS (Reference/Founders Edition) | NA | 13.4 / 14.2 | NA | 16.3 |
Peak FP16 TFLOPS (Reference/Founders Edition) | NA | 26.9 / 28.5 | NA | 32.6 |
Peak FP16 Tensor TFLOPS with FP16 Accumulate (Reference/Founders Edition) | NA | 107.6 / 113.8 | NA | 130.5 |
Peak FP16 Tensor TFLOPS with FP32 Accumulate (Reference/Founders Edition) | NA | 53.8 / 56.9 | NA | 130.5 |
Peak INT8 Tensor TOPS (Reference/Founders Edition) | NA | 215.2 / 227.7 | NA | 261.0 |
Peak INT4 Tensor TOPS (Reference/Founders Edition) | NA | 430.3 / 455.4 | NA | 522.0 |
Frame Buffer Memory Size and Type | 11264 MB GDDR5X | 11264 MB GDDR6 | 24576 MB GDDR5X | 24576 MB GDDR6 |
Memory Interface | 352-bit | 352-bit | 384-bit | 384-bit |
Memory Clock (Data Rate) | 11 Gbps | 14 Gbps | 9 Gbps | 14 Gbps |
Memory Bandwidth (GB/sec) | 484 | 616 | 432 | 672 |
ROPs | 88 | 88 | 96 | 96 |
Texture Units | 224 | 272 | 240 | 288 |
Texel Fill-rate (Gigatexels/sec) | 354.4 / 354.4 | 420.2 / 444.7 | 395 | 510 |
L2 Cache Size | 2816 KB | 5632 KB | 3072 KB | 6144 KB |
Register File Size/SM | 256 KB | 256 KB | 256 KB | 256 KB |
Register File Size/GPU | 7168 KB | 17408 KB | 7680 KB | 18432 KB |
TDP (Reference/Founders Edition) | 250 / 250 W | 250 / 260 W | 250 W | 260 W |
Transistor Count | 12 Billion | 18.6 Billion | 12 Billion | 18.6 Billion |
Die Size | 471 | 754 | 471 | 754 |
Manufacturing Process | 16 nm | 12 nm FFN | 16 nm | 12 nm FFN |
Como se puede ver, la RTX2080Ti, junto a la Quadro RTX6000 son las que poseen el chip mas potente de esta familia, el TU102, siendo la versión Quadro el mas completo de todos.
Una fotografía del DIE de gpu TU102.
Aqui lo tenemos en forma esquemática, con sus 6 bloques GPC, con sus 72 SM habilitados.
En comparación, se tiene el GPU TU104, encargado de potenciar la nueva RTX2080, con los mismos 6 GPC, pero con 48 SM en total.
Finalmente, el chip TU106 que estará montado en la RTX2070. Con solamente 3 GPC y 36 SM en total.