Nvidia Ampere contra AMD RDNA 2: Batalla de arquitecturas

Para los entusiastas de las GPU, ha sido una larga espera. Nvidia mantuvo la línea Turing durante dos años antes de reemplazarla con Ampere en septiembre de 2020. AMD fue un poco más amable, dejando una brecha de 15 meses entre sus nuevos diseños , pero la mayoría de la gente no estaba interesada en eso.

Lo que querían ver era que AMD lanzara un modelo de gama alta para competir cara a cara con lo mejor de Nvidia. Hicieron precisamente eso y ahora que hemos visto los resultados, los jugadores de PC ahora tienen muchas opciones (al menos en teoría ), cuando se trata de gastar su dinero en las tarjetas gráficas de mejor rendimiento.

Pero, ¿qué pasa con los chips que los alimentan? ¿Es uno de ellos fundamentalmente mejor que el otro? ¡Sigue leyendo para ver cómo Ampere y RDNA 2 luchan!

Tenga en cuenta que este es un artículo largo . Utilice este índice para navegarlo …

Nvidia se encoge, AMD crece

Nodos y tamaños de troquel

Las GPU de gama alta han sido considerablemente más grandes que las CPU durante varios años, y su tamaño ha ido aumentando constantemente. La última oferta de AMD tiene un área de aproximadamente 520 mm 2 , más del doble del tamaño de su chip Navi anterior . Sin embargo, no es el más grande: ese honor es para la GPU en su nuevo acelerador Instinct MI100, de alrededor de 750 mm 2 .

La última vez que AMD fabricó un procesador de juegos cercano al tamaño de Navi 21 fue para las tarjetas Radeon R9 Fury y Nano, que lucían la arquitectura GCN 3.0 en un chip Fiji. Tenía 596 mm 2 en el área de la matriz, pero se fabricó en el nodo de proceso de 28HP de TSMC.

AMD ha estado usando el proceso N7 mucho más pequeño de TSMC desde 2018 y el chip más grande de esa línea de producción fue el Vega 20 (como se encuentra en el Radeon VII ), con un área de 331 mm 2 . Todas sus GPU Navi están hechas en una versión ligeramente actualizada de ese proceso, llamada N7P, por lo que es necesario comparar estos productos.


Radeon R9 Nano: tarjeta pequeña, GPU masiva

Pero cuando se trata de tamaño de troquel, Nvidia se lleva la corona, no es que esto sea necesariamente algo bueno. El último chip basado en amperios, el GA102, mide 628 mm 2 . Eso es en realidad aproximadamente un 17% más pequeño que su antepasado, el TU102: esa GPU tenía un asombroso 754 mm 2 en el área de la matriz.

Ambos son de tamaño pálido en comparación con el monstruoso chip GA100 de Nvidia; utilizado en AI y centros de datos, esta GPU mide 826 mm 2 y es un chip TSMC N7. Aunque nunca se diseñó para alimentar una tarjeta gráfica de escritorio, sí muestra qué escala de fabricación de GPU es posible.

Ponerlos todos uno al lado del otro resalta cuán voluminosas son las GPU más grandes de Nvidia. El Navi 21 parece bastante esbelto, aunque hay más en un procesador que solo el área de la matriz. El GA102 tiene alrededor de 28,3 mil millones de transistores, mientras que el nuevo chip de AMD tiene un 5% menos, con 26,8 mil millones.

Lo que no sabemos es de cuántas capas está construida cada GPU, por lo que todo lo que podemos comparar es la relación entre los transistores y el área de la matriz, normalmente llamada densidad de la matriz . El Navi 21 tiene aproximadamente 51,5 millones de transistores por mm cuadrado, pero el GA102 es notablemente más bajo con 41,1; podría ser que el chip de Nvidia esté un poco más alto que el de AMD, pero es más probable que sea una indicación del nodo de proceso.

Como ya se mencionó, el Navi 21 es fabricado por TSMC, utilizando su método de producción N7P, que ofrece un pequeño aumento en el rendimiento sobre N7; pero para su nueva oferta, la GA102, Nvidia recurrió a Samsung para tareas de producción. El gigante de semiconductores de Corea del Sur está utilizando una versión modificada, específicamente para Nvidia, de su llamado nodo de 8 nm (etiquetado como 8N u 8NN).

Estos valores de nodo, 7 y 8, tienen poco que ver con el tamaño real de los componentes con los chips: son simplemente términos de marketing, que se utilizan para diferenciar entre las diversas técnicas de producción. Dicho esto, incluso si el GA102 tiene más capas que el Navi 21, el tamaño de la matriz tiene un impacto particular.


Pprobando una oblea de 300 mm (12 pulgadas) en una planta de fabricación de TSMC.

Los microprocesadores y otros chips se fabrican a partir de grandes discos circulares de silicio altamente refinado y otros materiales, llamados obleas (waffers) . TSMC y Samsung usan obleas de 300 mm para AMD y Nvidia, y cada disco generará más chips usando troqueles más pequeños en comparación con los más grandes.

Es poco probable que la diferencia sea enorme, pero cuando cada oblea cuesta miles de dólares para producir, AMD tiene una pequeña ventaja sobre Nvidia, cuando se trata de mantener bajos los costos de fabricación. Eso es asumiendo, por supuesto, que Samsung o TSMC no estén haciendo algún tipo de acuerdo financiero con AMD / Nvidia.

Todas estas travesuras de tamaño de dado y conteo de transistores serían en vano, si los chips mismos no fueran buenos para lo que están diseñados para hacer. Así que profundicemos en los diseños de cada nueva GPU y veamos qué hay debajo de sus capotas.

Diseccionando los troqueles
Estructura general de Ampere GA102 y RDNA 2 Navi 21

Comenzamos nuestra exploración de las arquitecturas con un vistazo a la estructura general de las GPU Ampere GA102 y RDNA 2 Navi 21; estos diagramas no necesariamente nos muestran cómo se presenta todo físicamente, pero dan una clara indicación de cómo muchos componentes tienen los procesadores.

En ambos casos, los diseños son muy familiares, ya que son esencialmente versiones expandidas de sus predecesores. Agregar más unidades a las instrucciones de proceso siempre aumentará el rendimiento de una GPU, porque a altas resoluciones en los últimos éxitos de taquilla 3D, las cargas de trabajo de renderizado implican una gran cantidad de cálculos paralelos.

Dichos diagramas son útiles, pero para este análisis en particular, en realidad es más interesante observar dónde se encuentran los diversos componentes dentro de la GPU. Al diseñar un procesador a gran escala, generalmente desea recursos compartidos, como controladores y caché en una posición central, para garantizar que todos los componentes tengan la misma ruta hacia ellos.

Los sistemas de interfaz, como los controladores de memoria local o las salidas de video, deben ir en los bordes del chip para que sea más fácil conectarlos a los miles de cables individuales que conectan la GPU al resto de la tarjeta gráfica.

A continuación se muestran imágenes en falso color de las matrices Navi 21 de AMD y GA102 de Nvidia. Ambos han pasado por algún procesamiento de imagen para limpiar las imágenes, y ambos realmente solo muestran una capa dentro del chip; pero nos brindan una excelente vista de las entrañas de una GPU moderna.

La diferencia más obvia entre los diseños es que Nvidia no ha seguido un enfoque centralizado para el diseño del chip: todos los controladores del sistema y la caché principal están en la parte inferior, con las unidades lógicas funcionando en columnas largas. Lo han hecho en el pasado, pero solo con modelos de gama media / baja.

Por ejemplo, la Pascal GP106 (utilizada en modelos como la GeForce GTX 1060 ) era literalmente la mitad de una GP104 (de la GeForce GTX 1070 ). Este último era el chip más grande y tenía su caché y controladores en el medio; estos se movieron hacia un lado en su hermano, pero solo porque el diseño se había dividido.


Pascal GP104 frente a GP106.

Para todos sus diseños de GPU de gama alta anteriores, Nvidia utilizó una organización centralizada clásica. Entonces, ¿por qué el cambio aquí? No puede ser por razones de interfaz, ya que los controladores de memoria y el sistema PCI Express se ejecutan alrededor del borde del dado.

Tampoco será por razones térmicas, porque incluso si la parte de la memoria caché / controlador de la matriz se calentara más que las secciones lógicas, aún querría que en el medio tenga más silicio a su alrededor para ayudar a absorber y disipar el calor . Aunque no estamos totalmente seguros del motivo de este cambio, sospechamos que tiene que ver con los cambios que Nvidia ha implementado con las unidades ROP ( salida de render ) en el chip.

Los veremos con más detalle más adelante, pero por ahora digamos que si bien el cambio en el diseño parece extraño, no hará una diferencia significativa en el rendimiento. Esto se debe a que el renderizado 3D está plagado de muchas latencias largas, generalmente debido a tener que esperar por los datos. Entonces, los nanosegundos adicionales agregados al tener algunas unidades lógicas más alejadas de la caché que otras, se ocultan en el gran esquema de las cosas.

Antes de continuar, vale la pena comentar sobre los cambios de ingeniería que AMD implementó en el diseño de Navi 21, en comparación con el Navi 10 que funcionaba con Radeon RX 5700 XT . Aunque el nuevo chip tiene el doble de tamaño, tanto en términos de área como de recuento de transistores, que el anterior, los diseñadores también lograron mejorar también las velocidades de reloj, sin aumentar significativamente el consumo de energía.

Por ejemplo, la Radeon RX 6800 XT tiene un reloj base y un reloj de impulso de 1825 y 2250 MHz respectivamente, para un TDP de 300 W; las mismas métricas para Radeon RX 5700 XT fueron 1605 MHz, 1905 MHz y 225 W. Nvidia también aumentó las velocidades de reloj con Ampere, pero parte de eso se puede atribuir al uso de un nodo de proceso más pequeño y eficiente.

Nuestro examen de rendimiento por vatio de las tarjetas Ampere y RDNA 2 mostró que ambos proveedores han realizado mejoras significativas en esta área, pero AMD y TSMC han logrado algo bastante notable: compare la diferencia entre Radeon RX 6800 y Radeon VII en gráfico de arriba.

Este último fue su primera colaboración de GPU usando el nodo N7 y en el espacio de menos de dos años, han aumentado el rendimiento por vatio en un 64%. Surge la pregunta de cuánto mejor podría haber sido el Ampere GA102 si Nvidia se hubiera quedado con TSMC para sus tareas de producción.

Administrar una fábrica de GPU
Cómo está organizado todo dentro de los chips

Cuando se trata del procesamiento de instrucciones y la gestión de transferencias de datos, tanto Ampere como RDNA 2 siguen un patrón similar a cómo todo está organizado dentro de los chips. Los desarrolladores de juegos codifican sus títulos utilizando una API de gráficos para crear todas las imágenes; podría ser Direct3D, OpenGL o Vulkan. Se trata esencialmente de bibliotecas de software, repletas de “libros” de reglas, estructuras e instrucciones simplificadas.

Los controladores que AMD y Nvidia crean para sus chips funcionan esencialmente como traductores: convierten las rutinas emitidas a través de la API en una secuencia de operaciones que las GPU pueden comprender. Después de eso, todo depende del hardware para administrar las cosas, con respecto a qué instrucciones se hacen primero, qué parte del chip las hace, y así sucesivamente.

Esta etapa inicial de la gestión de instrucciones es manejada por una colección de unidades, razonablemente centralizadas en el chip. En RDNA 2, los sombreadores de gráficos y computación se enrutan a través de conductos separados, que programan y envían las instrucciones al resto del chip; el primero se llama Procesador de comandos de gráficos , los segundos son Motores de cómputo asíncronos (ACE, para abreviar).

Nvidia solo usa un nombre para describir su conjunto de unidades de administración, el motor GigaThread , y en Ampere hace la misma tarea que con RDNA 2, aunque Nvidia no dice mucho sobre cómo realmente administra las cosas. En conjunto, estos procesadores de comandos funcionan como un gerente de producción de una fábrica.

Las GPU obtienen su rendimiento al hacer todo en paralelo, por lo que el siguiente nivel de organización se duplica en todo el chip. Siguiendo la analogía de la fábrica, estos serían similares a una empresa que tiene una oficina central, pero múltiples ubicaciones para la fabricación de bienes.

AMD usa la etiqueta Shader Engine (SE), mientras que Nvidia llama a los suyos Graphics Processing Clusters (GPC): diferentes nombres, la misma función.

La razón de esta partición del chip es simple: las unidades de procesamiento de comandos simplemente no pueden manejar todo, ya que terminaría siendo demasiado grande y complejo. Por lo tanto, tiene sentido impulsar algunas de las tareas de programación y organización más adelante. También significa que cada partición de separación puede estar haciendo algo completamente independiente de las demás, por lo que uno podría estar manejando una gran cantidad de sombreadores gráficos, mientras que los demás se mueven a través de sombreadores de cálculo largos y complejos.

En el caso de RDNA 2, cada SE contiene su propio conjunto de unidades de función fija : circuitos que están diseñados para realizar una tarea específica, que normalmente un programador no puede ajustar mucho.

• Unidad de configuración primitiva: prepara los vértices para su procesamiento, además de generar más (teselación) y seleccionarlos
• Rasterizador: convierte el mundo 3D de triángulos en una cuadrícula 2D de píxeles.
• Procesar salidas (ROP): lee, escribe y combina píxeles

La unidad de configuración primitiva se ejecuta a una velocidad de 1 triángulo por ciclo de reloj. Puede que esto no parezca mucho, pero no olvide que estos chips se ejecutan en cualquier lugar entre 1.8 y 2.2 GHz, por lo que la configuración primitiva nunca debería ser un cuello de botella para la GPU. Para Ampere, la unidad primitiva se encuentra en el siguiente nivel de organización, y lo cubriremos en breve.

Ni AMD ni Nvidia dicen demasiado sobre sus rasterizadores. Estos últimos los llaman motores de trama , sabemos que manejan 1 triángulo por ciclo de reloj y escupen una cantidad de píxeles, pero no hay más información a mano, como su precisión de subpíxeles, por ejemplo.

Cada SE en el chip Navi 21 tiene 4 bancos de 8 ROP, lo que da como resultado un total de 128 unidades de salida de renderizado; El GA102 de Nvidia incluye 2 bancos de 8 ROP por GPC, por lo que el chip completo tiene 112 unidades. Esto podría parecer que AMD tiene la ventaja aquí, porque más ROP significa que se pueden procesar más píxeles por reloj. Pero estas unidades necesitan un buen acceso a la memoria caché y local, y hablaremos más sobre eso más adelante en este artículo. Por ahora, continuemos viendo cómo se dividen aún más las particiones SE / GPC.

Los motores de sombreado de AMD están subdivididos en lo que denominan unidades de cómputo dual (DCU), y el chip Navi 21 presenta diez DCU por SE; tenga en cuenta que en algunos documentos también se clasifican como procesadores de grupo de trabajo (WGP). En el caso de Ampere y GA102, se denominan grupos de procesamiento de texturas (TPC), y cada GPU contiene 6 TPC. Cada clúster en el diseño de Nvidia alberga algo llamado Polymorph Engine , esencialmente, las unidades de configuración primitivas de Ampere.

También funcionan a una velocidad de 1 triángulo por reloj, y aunque las GPU de Nvidia tienen una frecuencia más baja que las de AMD, tienen muchos más TPC que Navi 21 tienen SE. Entonces, para la misma velocidad de reloj, el GA102 debería tener una ventaja notable, ya que el chip completo contiene 42 unidades de configuración primitivas, mientras que el nuevo RDNA 2 de AMD tiene solo 4. Pero como hay seis TPC por motor de ráster, el GA102 efectivamente tiene 7 primitivos completos sistemas, a los cuatro de Navi 21. Dado que este último no tiene una velocidad de reloj un 75% más alta que el primero, parece que Nvidia toma una clara ventaja aquí, cuando se trata de manejo de geometría (aunque es probable que ningún juego esté limitado en esta área).

El nivel final de la organización de los chips son las Unidades de Computación (CU) en RDNA 2 y los Multiprocesadores de Transmisión (SM) en Ampere, las líneas de producción de nuestras fábricas de GPU.

Estos son en gran medida la carne y verduras en el pastel de la GPU, ya que contienen todas las unidades altamente programables que se utilizan para procesar gráficos, computación y ahora sombreadores de trazado de rayos. Como puede ver en la imagen anterior, cada uno ocupa una porción muy pequeña del espacio total del dado, pero aún son extremadamente complejos y muy importantes para el rendimiento general del chip.

Hasta ahora, no ha habido ningún factor decisivo serio, cuando se trata de cómo se presenta y organiza todo en las dos GPU: la nomenclatura es diferente, pero sus funciones son muy parecidas. Y debido a que gran parte de lo que hacen está limitado por la programabilidad y la flexibilidad, cualquier ventaja que tenga uno sobre el otro se reduce a un sentido de escala, es decir, cuál tiene más de esa cosa en particular.

Pero con las CU y SM, AMD y Nvidia adoptan enfoques diferentes sobre cómo procesan los sombreadores. En algunas áreas, comparten mucho en común, pero hay muchas otras en las que ese no es el caso.

Contando núcleos a la manera de Nvidia

Dado que Ampere se aventuró en la naturaleza antes de RDNA 2, primero veremos los SM de Nvidia. No tiene sentido mirar imágenes del dado en sí ahora, ya que no pueden decirnos exactamente qué hay dentro de ellas, así que usemos un diagrama de organización. No se supone que sean representaciones de cómo los diversos componentes están dispuestos físicamente en el chip, sino cuántos de cada tipo están presentes.

Donde Turing fue un cambio sustancial en su predecesor de escritorio Pascal (perdiendo una pila de unidades y registros FP64, pero ganando núcleos tensores y trazado de rayos), Ampere es en realidad una actualización bastante leve, al menos en su valor nominal. Sin embargo, en lo que respecta a la división de marketing de Nvidia, el nuevo diseño duplicó con creces la cantidad de núcleos CUDA en cada SM.

En Turing, los multiprocesadores de transmisión contienen cuatro particiones (a veces llamadas bloques de procesamiento), donde cada una alberga 16 unidades lógicas INT32 y 16x FP32. Estos circuitos están diseñados para realizar operaciones matemáticas muy específicas en valores de datos de 32 bits: las unidades INT manejan enteros y las unidades FP trabajan en coma flotante, es decir, números decimales.

Nvidia afirma que un Ampere SM tiene un total de 128 núcleos CUDA, pero estrictamente hablando, esto no es cierto, o si debemos ceñirnos a este recuento, también lo hizo Turing. Las unidades INT32 en ese chip podrían manejar valores flotantes , pero solo en un número muy pequeño de operaciones simples. Para Ampere, Nvidia ha abierto la gama de operaciones matemáticas de punto flotante que admiten para que coincida con las otras unidades FP32. Eso significa que el número total de núcleos CUDA por SM no ha cambiado realmente; es solo que la mitad de ellos ahora tienen más capacidad.

Todos los núcleos en cada partición SM procesan la misma instrucción en cualquier momento, pero dado que las unidades INT / FP pueden operar de forma independiente, el Ampere SM puede manejar hasta 128 cálculos FP32 por ciclo o 64x FP32 y 64x INT32 operaciones juntas. En Turing, fue solo lo último.

Entonces, la nueva GPU tiene, potencialmente, el doble de salida FP32 que su predecesora. Para cargas de trabajo informáticas, especialmente en aplicaciones profesionales, este es un gran paso adelante; pero para los juegos, los beneficios serán mucho más moderados. Esto fue evidente cuando probamos por primera vez la GeForce RTX 3080, que usa un chip GA102 con 68 SM habilitados.

A pesar de tener un rendimiento máximo de FP32 del 121% sobre la GeForce 2080 Ti, solo promedia un aumento del 31% en las velocidades de cuadro. Entonces, ¿por qué se desperdicia toda esa potencia informática? La respuesta simple es que no lo es, pero los juegos no ejecutan instrucciones FP32 todo el tiempo.

Cuando Nvidia lanzó Turing en 2018, señalaron que, en promedio, alrededor del 36% de las instrucciones procesadas por una GPU involucraban rutinas INT32. Estos cálculos generalmente se ejecutan para calcular direcciones de memoria, comparaciones entre dos valores y flujo / control lógico.

Entonces, para esas operaciones, la función FP32 de doble velocidad no entra en juego, ya que las unidades con las dos rutas de datos solo pueden hacer números enteros o de punto flotante. Y una partición SM solo cambiará a este modo si los 32 subprocesos, que maneja en ese momento, tienen la misma operación FP32 alineada para ser procesada. En todos los demás casos, las particiones de Ampere funcionan igual que en Turing.

Esto significa que la GeForce RTX 3080 solo tiene una ventaja del 11% en FP32 sobre la 2080 Ti, cuando se opera en modo INT + FP. Esta es la razón por la que el aumento real del rendimiento observado en los juegos no es tan alto como sugieren las cifras brutas.

¿Otras mejoras? Hay menos núcleos de tensor por partición SM, pero cada uno es mucho más capaz que los de Turing. Estos circuitos realizan cálculos muy específicos (como multiplicar dos valores FP16 y acumular la respuesta con otro número FP16), y cada núcleo ahora hace 32 de estas operaciones por ciclo.

También admiten una nueva función llamada Dispersión estructurada de grano fino y, sin entrar en los detalles de todo, esencialmente significa que la tasa matemática se puede duplicar al eliminar los datos que no afectan la respuesta. Una vez más, esta es una buena noticia para los profesionales que trabajan con redes neuronales e IA, pero por el momento, no hay un beneficio significativo para los desarrolladores de juegos.

Los núcleos de trazado de rayos también se han ajustado: ahora pueden funcionar de forma independiente de los núcleos CUDA, por lo que mientras hacen el recorrido de BVH o las matemáticas de intersección de primitivas de rayos, el resto del SM puede seguir procesando sombreadores. La parte del RT Core que maneja la prueba de si un rayo se cruza o no con una primitiva también ha duplicado su rendimiento.

Los RT Cores también tienen hardware adicional para ayudar a aplicar el trazado de rayos al desenfoque de movimiento, pero esta característica actualmente solo está expuesta a través de la API Optix patentada de Nvidia .

Hay otros ajustes, pero el enfoque general ha sido uno de evolución sensible pero constante, en lugar de un nuevo diseño importante. Pero dado que, en primer lugar, no había nada particularmente malo con las capacidades brutas de Turing, no es sorprendente ver esto.

Entonces, ¿qué pasa con AMD? ¿Qué le han hecho a las unidades informáticas en RDNA 2?

Trazando los rayos fantásticos

A primera vista, AMD no ha cambiado mucho con respecto a las unidades informáticas: todavía contienen dos conjuntos de una unidad vectorial SIMD32, una unidad escalar SISD, unidades de texturas y una pila de varios cachés. Ha habido algunos cambios con respecto a los tipos de datos y las operaciones matemáticas asociadas que pueden hacer, y diremos más sobre ellos en un momento. El cambio más notable para el consumidor general es que AMD ahora ofrece aceleración de hardware para rutinas específicas dentro del trazado de rayos .

Esta parte de la CU realiza comprobaciones de intersección de caja de rayos o triángulo de rayos, lo mismo que los núcleos RT en amperios. Sin embargo, este último también acelera los algoritmos de recorrido de BVH, mientras que en RDNA 2 esto se hace a través de sombreadores de cálculo utilizando las unidades SIMD 32.

No importa cuántos núcleos de sombreadores tenga uno o qué tan altas sean sus frecuencias de reloj, ir con circuitos personalizados que están diseñados para hacer un solo trabajo siempre será mejor que un enfoque generalizado. Esta es la razón por la que se inventaron las GPU en primer lugar: todo en el mundo del renderizado se puede hacer usando una CPU, pero su naturaleza general las hace inadecuadas para esto.

Las unidades RA están al lado de los procesadores de textura, porque en realidad son parte de la misma estructura. En julio de 2019, que informó sobre la aparición de una patente presentada por AMD, que detalla el uso de un enfoque ‘híbrido’ para el manejo de los algoritmos de clave en el trazado de rayos …

Si bien este sistema ofrece una mayor flexibilidad y elimina la necesidad de que partes del troquel no hagan nada cuando hay una carga de trabajo de trazado de rayos, la primera implementación de AMD de esto tiene algunos inconvenientes. El más notable de los cuales es que los procesadores de texturas solo pueden manejar operaciones que involucran texturas o intersecciones primitivas de rayos en un momento dado.

Dado que los RT Cores de Nvidia ahora operan de forma totalmente independiente del resto del SM, esto parecería darle a Ampere una ventaja distinta, en comparación con RNDA 2, cuando se trata de superar las estructuras de aceleración y las pruebas de intersección requeridas en el trazado de rayos.

Aunque solo hemos examinado brevemente el rendimiento del trazado de rayos en las últimas tarjetas gráficas de AMD, hasta ahora hemos descubierto que el impacto del uso del trazado de rayos depende en gran medida del juego que se está jugando.

En Gears 5, por ejemplo, la Radeon RX 6800 (que usa una variante de 60 CU de la GPU Navi 21) solo recibió un 17% de velocidad de fotogramas, mientras que en Shadow of the Tomb Raider, esto aumentó a una pérdida promedio del 52%. En comparación, el RTX 3080 de Nvidia (usando un 68 SM GA102) registró pérdidas de velocidad de cuadro promedio de 23% y 40% respectivamente, en los dos juegos.

Se necesita un análisis más detallado del trazado de rayos para decir algo más sobre la implementación de AMD, pero como primera iteración de la tecnología, parece ser competitiva pero sensible a como la aplicación realiza el trazado de rayos.

Como se mencionó anteriormente, las unidades de cálculo en RDNA 2 ahora admiten más tipos de datos; las inclusiones más notables son los tipos de datos de baja precisión como INT4 e INT8. Estos se utilizan para operaciones de tensor en algoritmos de aprendizaje automático y, si bien AMD tiene una arquitectura separada (CDNA) para AI y centros de datos, esta actualización es para usar con DirectML .

Esta API es una adición reciente a la familia DirectX 12 de Microsoft y la combinación de hardware y software proporcionará una mejor aceleración para eliminar el ruido en los algoritmos de trazado de rayos y escalado temporal. En el caso de este último, Nvidia tiene el suyo propio, por supuesto, llamado DLSS. Su sistema usa Tensor Cores en el SM para realizar parte de los cálculos, pero dado que se puede construir un proceso similar a través de DirectML, podría parecer que estas unidades son algo redundantes. Sin embargo, tanto en Turing como en Ampere, los Tensor Cores también manejan todas las operaciones matemáticas que involucran formatos de datos FP16.

Con RDNA 2, dichos cálculos se realizan utilizando las unidades de sombreado, utilizando formatos de datos empaquetados, es decir, cada registro vectorial de 32 bits contiene dos de 16 bits. Entonces, ¿cuál es el mejor enfoque? AMD etiqueta sus unidades SIMD32 como procesadores vectoriales, porque emiten una instrucción para múltiples valores de datos.

Cada unidad vectorial contiene 32 procesadores de flujo y, dado que cada uno de ellos solo funciona con una sola pieza de datos, las operaciones reales en sí mismas son de naturaleza escalar. Esto es esencialmente lo mismo que una partición SM en Ampere, donde cada bloque de procesamiento también lleva una instrucción en 32 valores de datos.

Pero donde un SM completo en el diseño de Nvidia puede procesar hasta 128 cálculos FP32 FMA por ciclo ( fusionada multiplicar-agregar ), una sola unidad de cómputo RDNA 2 solo hace 64. El uso de FP16 eleva esto a 128 FMA por ciclo, que es lo mismo que Tensor Cores de Ampere al hacer matemáticas FP16 estándar.

Los SM de Nvidia pueden procesar instrucciones para manejar valores enteros y flotantes al mismo tiempo (por ejemplo, 64 FP32 y 64 INT32), y tienen unidades independientes para operaciones FP16, matemáticas de tensor y rutinas de trazado de rayos. Las CU de AMD hacen la mayor parte de la carga de trabajo en las unidades SIMD32, aunque tienen unidades escalares independientes que admiten matemáticas enteras simples.

Por lo tanto, parece que Ampere tiene la ventaja aquí: el GA102 tiene más SM que Navi 21 tiene CU, y tienen un impacto mayor cuando se trata de rendimiento máximo, flexibilidad y características que se ofrecen. Pero AMD tiene una carta de trucos bastante agradable en la manga.

Alimentando a esos hipopótamos hambrientos

Sistema de memoria, cachés de varios niveles

Tener una GPU con miles de unidades lógicas, todas abriéndose camino a través de sofisticadas matemáticas, está muy bien, pero estarían tambaleándose en el mar si no pudieran ser alimentados lo suficientemente rápido, con las instrucciones y los datos que requieren. Ambos diseños cuentan con una gran cantidad de cachés de varios niveles, con enormes cantidades de ancho de banda.

Echemos un vistazo al primero de Ampere. En general, ha habido algunos cambios notables internamente. La cantidad de caché de nivel 2 ha aumentado en un 50% (el Turing TU102 tenía 4096 kB respectivamente), y los cachés de nivel 1 en cada SM se han duplicado en tamaño.

Como antes, las cachés L1 de Ampere son configurables, en términos de cuánto espacio de caché se puede asignar para datos, texturas o uso informático general. Sin embargo, para los sombreadores de gráficos (por ejemplo, vértice, píxel) y el cálculo asincrónico, la caché está configurada en:

• 64 kB para datos y texturas
• 48 kB para memoria general compartida
• 16 kB reservados para operaciones específicas

Solo cuando se ejecuta en modo de cálculo completo, L1 se vuelve completamente configurable. En el lado positivo, la cantidad de ancho de banda disponible también se ha duplicado, ya que la memoria caché ahora puede leer / escribir 128 bytes por reloj (aunque no se sabe si la latencia también se ha mejorado o no).

El resto del sistema de memoria interna se ha mantenido igual en Ampere, pero cuando nos movemos justo fuera de la GPU, nos espera una agradable sorpresa. Nvidia se asoció con Micron, un fabricante de DRAM, para usar una versión modificada de GDDR6 para sus necesidades de memoria local. Esto sigue siendo esencialmente GDDR6, pero el bus de datos ha sido reemplazado por completo. En lugar de usar una configuración convencional de 1 bit por pin, donde la señal simplemente rebota muy rápidamente entre dos voltajes (también conocido como PAM ), GDDR6X usa cuatro voltajes:


PAM2 en GDDR6 (arriba) vs PAM4 en GDDR6X (abajo)

Con este cambio, GDDR6X transfiere efectivamente 2 bits de datos por pin, por ciclo, por lo que para la misma velocidad de reloj y recuento de pines, el ancho de banda se duplica. La GeForce RTX 3090 tiene 24 módulos GDDR6X, que se ejecutan en modo de un solo canal y tienen una clasificación de 19 Gbps, lo que brinda un ancho de banda de transferencia máximo de 936 GB / s.

Eso es un aumento del 52% sobre la GeForce RTX 2080 Ti y no es algo que deba descartarse a la ligera. Estas cifras de ancho de banda solo se han logrado en el pasado mediante el uso de HBM2, que puede ser costoso de implementar, en comparación con GDDR6.

Sin embargo, solo Micron fabrica esta memoria y el uso de PAM4 agrega complejidad adicional al proceso de producción, requiriendo tolerancias mucho más estrictas con la señalización. AMD tomó una ruta diferente: en lugar de recurrir a una agencia externa en busca de ayuda, usaron su división de CPU para traer algo nuevo a la mesa. El sistema de memoria general en RDNA 2 no ha cambiado mucho en comparación con su predecesor: solo hay dos cambios importantes.

Cada Shader Engine ahora tiene dos conjuntos de cachés de nivel 1, pero como ahora tienen dos bancos de unidades de cómputo dual (RDNA acaba de tener una), es de esperar esta alteración. ¿Pero meter 128 MB de caché de nivel 3 en la GPU? Eso sorprendió a mucha gente. Utilizando el diseño SRAM para la caché L3 que se encuentra en su gama EPYC de chips de servidor Zen 2, AMD ha integrado dos conjuntos de caché de alta densidad de 64 MB en el chip. Las transacciones de datos son manejadas por 16 conjuntos de interfaces, cada una de las cuales cambia 64 bytes por ciclo de reloj.

El llamado Infinity Cache tiene su propio dominio de reloj y puede funcionar a hasta 1,94 GHz, lo que proporciona un ancho de banda de transferencia interna máximo de 1986,6 GB / s. Y debido a que no es una DRAM externa, las latencias involucradas son excepcionalmente bajas. Tal caché es perfecta para almacenar estructuras de aceleración de trazado de rayos y dado que el recorrido de BVH implica una gran cantidad de verificación de datos, Infinity Cache debería ayudar notablemente con esto.


Dos tiras de 64 MB de Infinity Cache y el sistema Infinity Fabric

Por el momento, no está claro si el caché de nivel 3 en RDNA 2 funciona de la misma manera que en una CPU Zen 2: es decir, como caché de víctima de nivel 2 . Normalmente, cuando es necesario borrar el último nivel de caché para dejar espacio para nuevos datos, cualquier nueva solicitud de esa información tendrá que ir a la DRAM.

Un caché de víctima almacena datos que han sido marcados para su eliminación del siguiente nivel de memoria, y con 128 MB a mano, Infinity Cache podría almacenar potencialmente 32 juegos completos de caché L2. Este sistema da como resultado una menor demanda de los controladores GDDR6 y DRAM.

Los diseños de GPU más antiguos de AMD han tenido problemas con la falta de ancho de banda interno, especialmente porque una vez que aumentaron las velocidades de reloj, el caché adicional contribuirá en gran medida a que este problema se desvanezca en un segundo plano.

Entonces, ¿qué diseño es mejor aquí? El uso de GDDR6X le da al GA102 un enorme ancho de banda para la memoria local, y las cachés más grandes ayudarán a reducir el impacto de las fallas de caché (que detienen el procesamiento de un hilo). La caché masiva de nivel 3 de Navi 21 significa que la DRAM no tiene que tocar con tanta frecuencia y aprovecha la capacidad de ejecutar la GPU a velocidades de reloj más altas sin falta de datos.

La decisión de AMD a palo con GDDR6 significa que hay más fuentes de memoria disponible para los proveedores de terceros, por su parte cualquier empresa haciendo una GeForce RTX 3080 o 3090 va a tener que utilizar Micron. Y aunque GDDR6 viene en una variedad de densidades de módulos, GDDR6X actualmente está limitado a 8 Gb.

El sistema de caché dentro de RDNA 2 es posiblemente un enfoque mejor que el utilizado en Ampere, ya que el uso de múltiples niveles de SRAM en la matriz siempre proporcionará latencias más bajas y un mejor rendimiento para una envolvente de potencia determinada que la DRAM externa, independientemente del ancho de banda de este último. .

Los entresijos de una GPU

Procesamiento de tuberías

Ambas arquitecturas cuentan con una serie de actualizaciones en la parte delantera y trasera de sus canales de renderizado. Ampere y RDNA 2 totalmente deportivos en malla shaders y shaders de tasa variable en DirectX12 Ultimate, aunque el chip de Nvidia sí tiene más rendimiento de geometría gracias a su mayor número de procesadores para estas tareas.

Si bien el uso de sombreadores de malla permitirá a los desarrolladores crear entornos cada vez más realistas, ningún juego tendrá su rendimiento completamente vinculado a esta etapa del proceso de renderizado. Esto se debe a que la mayor parte del trabajo más difícil se realiza en las etapas de trazado de rayos o píxeles.

Aquí es donde entra en juego el uso de sombreadores de velocidad variable ; básicamente, el proceso implica aplicar sombreadores para la iluminación y el color en un bloque de píxeles, en lugar de en uno individual. Es similar a disminuir la resolución del juego para mejorar el rendimiento, pero dado que se puede aplicar solo a regiones seleccionadas, la pérdida de calidad visual no es evidente.

Pero ambas arquitecturas también han recibido una actualización de sus unidades de salida de renderizado (ROP), ya que esto mejorará el rendimiento a altas resoluciones, tanto si se utilizan sombreadores de velocidad variable como si no. En todas las generaciones anteriores de sus GPU, Nvidia vinculó los ROP a los controladores de memoria y al caché de nivel 2.

En Turing, ocho unidades ROP (denominadas colectivamente partición ) se vincularon directamente a un controlador y una porción de 512 kB de la caché. Agregar más ROP crea un problema, ya que requiere más controladores y caché, por lo que para Ampere, los ROP ahora están asignados por completo a un GPC. El GA102 tiene 12 ROP por GPC (cada uno procesa 1 píxel por ciclo de reloj), lo que da un total de 112 unidades para el chip completo.

AMD sigue un sistema similar al antiguo enfoque de Nvidia (es decir, vinculado a un controlador de memoria y un segmento de caché L2), aunque sus ROP utilizan principalmente el caché de nivel 1 para lectura / escritura y combinación de píxeles. En el chip Navi 21, se les ha dado una actualización muy necesaria y cada partición ROP ahora maneja 8 píxeles por ciclo en color de 32 bits y 4 píxeles en 64 bits.

Otra cosa que Nvidia ha traído a la mesa con Ampere es RTX IO , un sistema de manejo de datos que permite a la GPU acceder directamente a la unidad de almacenamiento, copiar los datos que necesita y luego descomprimirlos usando los núcleos CUDA. Sin embargo, por el momento, el sistema no se puede usar en ningún juego, porque Nvidia está usando la API de DirectStorage (otra mejora de DirectX12) para controlarlo y eso aún no está listo para su lanzamiento público.

Los métodos utilizados en este momento implican que la CPU administre todo esto: recibe la solicitud de datos de los controladores de la GPU, copia los datos de la unidad de almacenamiento a la memoria del sistema, los descomprime y luego los copia a la DRAM de la tarjeta gráfica.

Además del hecho de que esto implica una gran cantidad de copias desperdiciadas, el mecanismo es de naturaleza serial: la CPU procesa una solicitud a la vez. Nvidia afirma cifras como “rendimiento de datos 100 veces superior” y “utilización de CPU 20 veces inferior”, pero hasta que el sistema se pueda probar en el mundo real, estas cifras no se pueden examinar más a fondo.

Cuando AMD presentó RDNA 2 y las nuevas tarjetas gráficas Radeon RX 6000, lanzaron algo llamado Smart Access Memory . Esta no es su respuesta al RTX IO de Nvidia; de hecho, ni siquiera es una característica nueva. De forma predeterminada, el controlador PCI Express en la CPU puede direccionar hasta 256 MB de la memoria de la tarjeta gráfica, por solicitud de acceso individual.

Este valor se establece por el tamaño del registro de dirección base (BAR) y ya en 2008, ha habido una característica opcional en la especificación PCI Express 2.0 para permitir su cambio de tamaño. El beneficio de esto es que se deben procesar menos solicitudes de acceso para abordar la totalidad de la DRAM de la tarjeta.

La función requiere soporte del sistema operativo, CPU, placa base, GPU y sus controladores. En la actualidad, en PC con Windows, el sistema está limitado a una combinación específica de CPU Ryzen 5000, placas base de la serie 500 y tarjetas gráficas Radeon RX 6000.

Esta sencilla función dio algunos resultados sorprendentes cuando la probamos: los aumentos de rendimiento del 15% en 4K no deben descartarse a la ligera, por lo que no debería sorprender que Nvidia haya dicho que ofrecerán la función para RTX 3000. rango en algún momento en el futuro cercano.

Queda por ver si el soporte de BAR redimensionable se implementa o no para otras combinaciones de plataformas, pero su uso es ciertamente bienvenido, aunque no es una característica arquitectónica de Ampere / RDNA 2 como tal.

El vídeo mató a la estrella de radio

Motor multimedia, salida de video

El mundo de las GPU normalmente está dominado por el recuento de núcleos, TFLOPS, GB / sy otras métricas que acaparan los titulares, pero gracias al aumento de los creadores de contenido de YouTube y las transmisiones de juegos en vivo, las capacidades de visualización y motor multimedia también son de importancia considerable.

La demanda de frecuencias de actualización ultra altas, en todas las resoluciones, ha crecido a medida que se redujo el precio de los monitores que admiten estas funciones. Hace dos años, un monitor HDR 4K 27 “de 144 Hz le habría costado $ 2,000; hoy, puede obtener algo similar por casi la mitad del precio .

Ambas arquitecturas proporcionan una salida de pantalla a través de HDMI 2.1 y DisplayPort 1.4a. El primero ofrece más ancho de banda de señal, pero ambos están clasificados para 4K a 240 Hz con HDR y 8K a 60 Hz. Esto se logra utilizando submuestreo de croma 4: 2: 0 o DSC 1.2a. Estos son algoritmos de compresión de señales de video, que proporcionan una reducción significativa en los requisitos de ancho de banda, sin demasiada pérdida de calidad visual. Sin ellos, incluso el ancho de banda máximo de HDMI 2.1 de 6 GB / s no sería suficiente para transmitir imágenes 4K a una velocidad de 6 Hz.


El ‘monitor’ LG CK OLED de 48 “- 4K a 120 Hz necesita HDMI 2.1

Ampere y RDNA 2 también admiten sistemas de frecuencia de actualización variable (FreeSync para AMD, G-Sync para Nvidia) y cuando se trata de la codificación y decodificación de señales de video, aquí tampoco hay una diferencia apreciable.

No importa qué procesador mire, encontrará soporte para decodificación 8K AV1, 4K H.264 y 8K H.265, aunque aún no se ha examinado a fondo qué tan bien funcionan ambos en tales situaciones. Ninguna empresa ofrece muchos detalles sobre las entrañas reales de sus motores de visualización y multimedia. Por importantes que sean en estos días, sigue siendo el resto de la GPU el que atrae toda la atención.

Diferentes estilos para diferentes personas

Creado para la informática, creado para los juegos

Los entusiastas de la historia de las GPU sabrán que AMD y Nvidia solían adoptar enfoques bastante diferentes para sus elecciones y configuraciones arquitectónicas. Pero a medida que los gráficos 3D se han vuelto cada vez más dominados por el mundo de la computación y la homogeneización de las API, sus diseños generales han sido cada vez más similares.

Y en lugar de las demandas de renderizado en los juegos de hoy que marcan el tono de las arquitecturas, son los sectores del mercado a los que se ha expandido la industria de las GPU los que están dirigiendo la dirección. En el momento de escribir este artículo, Nvidia tiene tres chips que utilizan la tecnología Ampere: GA100, GA102 y GA104.


La GA104 se puede encontrar en la GeForce RTX 3060 Ti

El último es simplemente una versión reducida del GA102: simplemente tiene menos TPC por GPC (y una GPU menos en general) y dos tercios de la caché de Nivel 2. Todo lo demás es exactamente igual. El GA100, por otro lado, es una bestia completamente diferente.

No tiene núcleos RT ni núcleos CUDA con soporte INT32 + FP32; en su lugar, incluye una serie de unidades FP64 adicionales, más sistemas de carga / almacenamiento y una enorme cantidad de caché L1 / L2. Tampoco tiene pantalla ni motor multimedia alguno; esto se debe a que está diseñado completamente para clústeres de computación a gran escala para inteligencia artificial y análisis de datos.

Sin embargo, la GA102 / 104 debe cubrir todos los demás mercados a los que se dirige Nvidia: entusiastas de los juegos, artistas e ingenieros gráficos profesionales, y trabajo de computación e inteligencia artificial a pequeña escala. Ampere debe ser un ‘experto en todos los oficios’ y un maestro en todos ellos, no es una tarea fácil.


El monstruo Arcturus CDNA de 750 mm 2

RDNA 2 se diseñó solo para juegos, en PC y consolas, aunque también podría dedicarse a las mismas áreas en las que vende Ampere. Sin embargo, AMD decidió mantener su arquitectura GCN y actualizarla para las demandas de los profesionales de hoy. clientela.

Donde RDNA 2 ha generado ‘Big Navi’, se podría decir que CDNA generó ‘Big Vega’: el Instinct MI100 alberga su chip Arcturus, una GPU de 50 mil millones de transistores que tiene 128 unidades de cómputo. Y al igual que el GA100 de Nvidia, tampoco contiene motores de pantalla ni multimedia.

Aunque Nvidia domina en gran medida el mercado profesional con los modelos Quadro y Tesla, los modelos Navi 21 simplemente no tienen como objetivo competir con ellos y se han diseñado en consecuencia. Eso hace que RDNA 2 sea la mejor arquitectura; ¿El requisito de que Ampere se adapte a múltiples mercados lo restringe de alguna manera?

Cuando mira la evidencia, la respuesta parece ser: no.

AMD lanzará pronto la Radeon RX 6900 XT, que usa una Navi 21 completa (sin CU desactivadas), que puede funcionar tan bien como la GeForce RTX 3090 o mejor. Pero el GA102 en esa tarjeta tampoco está completamente habilitado, por lo que Nvidia siempre tiene la opción de actualizar ese modelo con una versión ‘Super’, como lo hicieron con Turing el año pasado.

Se podría argumentar que debido a que RDNA 2 se está utilizando en Xbox Series X / S y PlayStation 5 , los desarrolladores de juegos favorecerán esa arquitectura en sus motores de juego. Pero solo tiene que mirar cuándo se usó GCN en Xbox One y PlayStation 4 para ver cómo es probable que se desarrolle.

La primera versión del primero, en 2013, usó una GPU construida alrededor de la arquitectura GCN 1.0, un diseño que no apareció en las tarjetas gráficas de PC de escritorio hasta el año siguiente. La Xbox One X, lanzada en 2017, usaba GCN 2.0, un diseño maduro ya tenía más de 3 años para entonces.

Entonces, ¿todos los juegos hechos para Xbox One o PS4 que se transfirieron a la PC se ejecutaron automáticamente mejor en tarjetas gráficas AMD? Ellos no. Por lo tanto, no podemos asumir que esta vez será diferente con RDNA 2, a pesar de su impresionante conjunto de características.

Pero, en última instancia, nada de esto importa, ya que ambos diseños de GPU son excepcionalmente capaces y maravillas de lo que se puede lograr en la fabricación de semiconductores. Nvidia y AMD traen diferentes herramientas al banco, porque están tratando de resolver diferentes problemas; Ampere pretende ser todo para todas las personas, RDNA 2 se trata principalmente de juegos.

Esta vez, la batalla ha llegado a un punto muerto, aunque cada uno puede reclamar la victoria en un área específica o dos. Las guerras de GPU continuarán durante el próximo año, y un nuevo combatiente entrará en juego: Intel, con su serie de chips Xe . ¡Al menos no tendremos que esperar otros dos años para ver cómo sigue su curso esa pelea!

2 respuestas a «Nvidia Ampere contra AMD RDNA 2: Batalla de arquitecturas»

  1. hace 3 año intel ta diciendo q va a sacar targetas de video y me quedo con la arquitectura de amd me parece mejor en raterisado en el trasado de rayo nvidia , por ahora no creo q por mucho

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *