1 puntos por GN⁺ 2023-12-19 | 1 comentarios | Compartir por WhatsApp

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

 
GN⁺ 2023-12-19
Comentarios de Hacker News
  • Me enteré de que AMD se bifurcó al desarrollar las arquitecturas de GPU CDNA y RDNA, especializadas respectivamente para cómputo y gráficos.

    • Entiendo que las tarjetas gráficas de consumo de AMD no son adecuadas para tareas de cómputo debido a diferencias de arquitectura. Parece un problema como el de una autopista sin rampas de acceso.
  • Muchos científicos reciben GPU gratis o con descuento de NVidia para desarrollar bibliotecas clave del campo de ML/AI, así que creo que será difícil para AMD competir con NVidia en el futuro cercano.

    • Se plantea la opinión de que la forma en que NVidia penetra en la academia es poco ética.
  • Fue la primera vez que escuché sobre VLIW (Very long instruction word).

    • VLIW se refiere a una arquitectura de conjunto de instrucciones diseñada para aprovechar el paralelismo a nivel de instrucciones. Mientras que los CPU tradicionales solo permiten ejecutar instrucciones de forma secuencial, los procesadores VLIW pueden especificar explícitamente la ejecución en paralelo. La intención es ofrecer mayor rendimiento sin la complejidad de otros diseños.
  • Expresa su opinión sobre haber predicho que AMD volvería al campo de la IA aprovechando su conocimiento sobre chiplets y bus fabric.

    • Reconoce que no se siente seguro leyendo ese artículo, o leyendo en general, y que solo quería expresar su punto de vista.
  • Plantea la duda de cuándo la palabra "compute" empezó a usarse como sustantivo.

    • Expresa incomodidad con el uso nominal de la palabra "compute".
  • Desde hace décadas, el cómputo va por delante de la memoria. Al igual que los CPU, los GPU también responden a esto con estrategias de caché cada vez más sofisticadas.

    • A diferencia de los CPU, los GPU no intentan responder de forma directa, sino que aceptan una latencia alta y la compensan paralelizando mucho más ampliamente para ofrecer un efecto de 'ocultamiento de latencia'. Esto podría usarse como ejemplo en una presentación sobre optimización de código para GPU.