La arquitectura de cómputo CDNA 3 de AMD
- AMD tiene una larga historia buscando aumentar su participación en el mercado de cómputo con GPU.
- Desde la arquitectura Tesla de Nvidia, AMD ha seguido persiguiéndola.
- Terascale 3 cambió de VLIW5 a VLIW4 para mejorar el aprovechamiento de las unidades de ejecución en cargas de trabajo de cómputo.
- GCN reemplazó a Terascale y puso énfasis en un rendimiento consistente tanto para GPGPU como para aplicaciones gráficas.
- AMD separó el desarrollo de sus arquitecturas GPU en líneas distintas: CDNA para cómputo y RDNA para gráficos.
- CDNA 2 le dio a AMD un éxito notable. Las GPU MI250X y MI210 obtuvieron varios contratos de supercomputadoras.
- CDNA 3 reduce la brecha mostrando todo lo que AMD puede ofrecer. MI300X exhibe tecnología avanzada de empaquetado mediante una sofisticada configuración de chiplets.
- En memoria, Infinity Cache de la línea RDNA fue introducida en el mundo CDNA para aliviar los problemas de ancho de banda.
- La arquitectura de cómputo de CDNA 3 recibió importantes mejoras generacionales para aumentar el throughput y el aprovechamiento.
Distribución de la GPU
- AMD tiene la tradición de usar chiplets en sus CPU Ryzen y Epyc para escalar el número de núcleos a bajo costo.
- MI300X usa una estrategia similar, separando el cómputo en Accelerator Complex Dies llamados XCD.
- Cada XCD incluye un conjunto de núcleos y caché compartido, y MI300X tiene un total de 8 XCD, ofreciendo 304 Compute Units.
- El H100 de Nvidia tiene 132 Streaming Multiprocessors (SMs), y se presenta a los programadores como una sola GPU grande e integrada.
- Ponte Vecchio (PVC) de Intel usa Compute Tiles y un Base Tile para ofrecer una función similar, pero tiene desafíos como GPU integrada debido a las limitaciones de ancho de banda de los puentes EMIB.
Resolviendo el problema del ancho de banda
- El cómputo ha ido por delante de la memoria durante décadas, y las GPU han respondido con estrategias de caché cada vez más sofisticadas.
- CDNA 2 usaba 8 MB de caché L2 y dependía de HBM2e, pero AMD añadió "Infinity Cache", usada en RDNA(2).
- Infinity Cache es una caché del lado de memoria, y todo el tráfico de memoria pasa por ella.
- Infinity Cache de CDNA 3 fue diseñada para optimizar el ancho de banda, y está compuesta por 128 slices para ofrecer un total de 17.2 TB/s de ancho de banda.
Posibles desafíos del ancho de banda Cross-Die
- Infinity Fabric de MI300X incluye 4 dies de IO, cada uno conectado a dos stacks de HBM y a sus particiones de caché asociadas.
- El ancho de banda de las conexiones entre dies puede limitar alcanzar el ancho de banda teórico de Infinity Cache al operar como una sola GPU lógica.
Coherencia entre XCD
- Infinity Cache no necesita preocuparse por la coherencia, pero la caché L2 sí.
- AMD usa Coherent Masters (CMs) y Coherent Slaves (CS) de Infinity Fabric para exponer MI300X como una sola GPU grande.
Caché L2
- Cada XCD del MI300X incluye 4 MB de caché L2, que cumple un papel importante como caché tradicional de GPU.
Caché L1
- CDNA 3 duplica el throughput de la caché L1 y aumenta su capacidad de 16 KB a 32 KB.
Planificación y unidades de ejecución
- Mediante una compleja configuración de chiplets y una jerarquía de caché modificada, AMD presenta MI300X como una sola GPU.
- CDNA 3 introduce mejoras iterativas en la arquitectura central Compute Unit de CDNA 2, que tenía dificultades para aprovechar las unidades FP32.
Operaciones matriciales
- La multiplicación de matrices se ha vuelto cada vez más importante con el crecimiento del aprendizaje automático.
- MI300X duplica el throughput matricial por CU, mejorando el rendimiento frente a la generación anterior de CDNA.
Caché de instrucciones
- CDNA 3 aumenta la capacidad de la caché de instrucciones a 64 KB y duplica la asociatividad de 4-way a 8-way.
Palabras finales
- El mayor cambio generacional en CDNA 3 está en la jerarquía de memoria, y la incorporación de Infinity Cache es la mejora principal.
- AMD aumentó considerablemente el ancho de banda entre dies para convertir a MI300 en un gran acelerador unificado.
La opinión de GN⁺
- La arquitectura CDNA 3 representa un avance importante para reforzar la competitividad de AMD en el campo del cómputo con GPU.
- La incorporación de Infinity Cache es un enfoque innovador para resolver los problemas de ancho de banda de memoria, algo especialmente importante en aplicaciones de cómputo de alto rendimiento que manejan grandes conjuntos de datos.
- La estrategia de AMD de presentar MI300X como una sola GPU reduce la complejidad de programación y permite a los desarrolladores usar los recursos con mayor eficiencia, lo que puede hacer que la línea de GPU de AMD resulte atractiva para un mercado más amplio.
1 comentarios
Comentarios de Hacker News