1 pontos por GN⁺ 2023-12-19 | 1 comentários | Compartilhar no WhatsApp

A arquitetura de computação CDNA 3 da AMD

  • A AMD tem uma longa história de busca por aumentar sua participação no mercado de computação com GPU.
  • Desde a arquitetura Tesla da Nvidia, a AMD continua correndo atrás.
  • O Terascale 3 mudou de VLIW5 para VLIW4, melhorando a utilização das unidades de execução em cargas de trabalho de computação.
  • O GCN substituiu o Terascale e enfatizou desempenho consistente tanto para GPGPU quanto para aplicações gráficas.
  • A AMD separou o desenvolvimento de arquiteturas de GPU em linhas distintas, CDNA e RDNA, especializadas em computação e gráficos.
  • O CDNA 2 trouxe um sucesso notável para a AMD. As GPUs MI250X e MI210 garantiram vários contratos de supercomputadores.
  • O CDNA 3 reduz a diferença colocando em campo tudo o que a AMD pode oferecer. O MI300X exibe tecnologia avançada de empacotamento com uma configuração sofisticada de chiplets.
  • No lado da memória, o Infinity Cache da linha RDNA foi introduzido no universo CDNA para aliviar problemas de largura de banda.
  • A arquitetura de computação do CDNA 3 recebeu melhorias geracionais importantes para aumentar o throughput e a utilização.

Layout da GPU

  • A AMD tem a tradição de usar chiplets em CPUs Ryzen e Epyc para escalar a contagem de núcleos a baixo custo.
  • O MI300X usa uma estratégia semelhante, separando a computação em Accelerator Complex Dies, chamados de XCD.
  • Cada XCD inclui um conjunto de núcleos e cache compartilhado, e o MI300X tem um total de 8 XCDs, oferecendo 304 Compute Units.
  • O H100 da Nvidia tem 132 Streaming Multiprocessors (SMs) e os apresenta aos programadores como uma única GPU grande e unificada.
  • O Ponte Vecchio (PVC) da Intel usa Compute Tiles e um Base Tile para oferecer funcionalidade semelhante, mas enfrenta desafios como GPU unificada por causa das limitações de largura de banda das pontes EMIB.

Resolvendo o problema de largura de banda

  • A computação supera a memória há décadas, e as GPUs respondem a isso com estratégias de cache cada vez mais sofisticadas.
  • O CDNA 2 usava 8 MB de cache L2 e dependia de HBM2e, mas a AMD adicionou o "Infinity Cache" usado no RDNA(2).
  • O Infinity Cache é um cache do lado da memória, e todo o tráfego de memória passa por ele.
  • O Infinity Cache do CDNA 3 foi projetado para otimização de largura de banda e é composto por 128 fatias, oferecendo um total de 17,2 TB/s de largura de banda.

Possíveis desafios de largura de banda entre dies

  • O Infinity Fabric do MI300X inclui 4 dies de IO, cada um conectado a duas pilhas de HBM e a partições de cache associadas.
  • A largura de banda das conexões entre dies pode limitar o alcance da largura de banda teórica do Infinity Cache ao operar como uma única GPU lógica.

Coerência entre XCDs

  • O Infinity Cache não precisa se preocupar com coerência, mas o cache L2 sim.
  • Para expor o MI300X como uma única GPU grande, a AMD usa Coherent Masters (CMs) e Coherent Slaves (CS) do Infinity Fabric.

Cache L2

  • Cada XCD do MI300X inclui 4 MB de cache L2, que desempenha um papel importante como cache tradicional de GPU.

Cache L1

  • O CDNA 3 dobra o throughput do cache L1 e aumenta sua capacidade de 16 KB para 32 KB.

Agendamento e unidades de execução

  • Com uma configuração complexa de chiplets e uma hierarquia de cache modificada, a AMD apresenta o MI300X como uma única GPU.
  • O CDNA 3 traz melhorias iterativas para a arquitetura central de Compute Unit do CDNA 2, que tinha dificuldade em aproveitar bem as unidades FP32.

Operações matriciais

  • A multiplicação de matrizes se tornou cada vez mais importante com o avanço do aprendizado de máquina.
  • O MI300X dobra o throughput matricial por CU, melhorando o desempenho em comparação com a geração anterior de CDNA.

Cache de instruções

  • O CDNA 3 aumenta a capacidade do cache de instruções para 64 KB e dobra a associatividade de 4-way para 8-way.

Considerações finais

  • A maior mudança geracional do CDNA 3 está na hierarquia de memória, e a adição do Infinity Cache é a principal melhoria.
  • A AMD aumentou bastante a largura de banda entre dies para transformar o MI300 em um grande acelerador unificado.

Opinião do GN⁺

  • A arquitetura CDNA 3 representa um avanço importante para fortalecer a competitividade da AMD no campo da computação com GPU.
  • A introdução do Infinity Cache é uma abordagem inovadora para resolver problemas de largura de banda de memória, algo especialmente importante em aplicações de computação de alto desempenho que lidam com grandes conjuntos de dados.
  • A estratégia da AMD de apresentar o MI300X como uma única GPU reduz a complexidade de programação e permite que desenvolvedores utilizem recursos com mais eficiência, o que pode tornar a linha de GPUs da AMD mais atraente para um mercado mais amplo.

1 comentários

 
GN⁺ 2023-12-19
Opiniões do Hacker News
  • Descobri que a AMD se dividiu no desenvolvimento das arquiteturas de GPU CDNA e RDNA, cada uma especializada respectivamente para computação e gráficos.

    • Entendi que as placas de vídeo para consumidores da AMD não são adequadas para tarefas de computação por causa das diferenças de arquitetura. Isso parece um problema como uma rodovia sem acesso de entrada.
  • Acho que será difícil para a AMD competir com a NVidia no futuro próximo, porque muitos cientistas recebem GPUs gratuitas ou com desconto da NVidia para desenvolver bibliotecas centrais da área de ML/AI.

    • Foi apresentada a opinião de que a forma como a NVidia penetra no meio acadêmico é antiética.
  • Foi a primeira vez que ouvi falar de VLIW (Very long instruction word).

    • VLIW se refere a uma arquitetura de conjunto de instruções projetada para aproveitar o paralelismo em nível de instrução. Enquanto CPUs tradicionais permitem executar instruções apenas de forma sequencial, processadores VLIW podem especificar explicitamente a execução paralela. A intenção é oferecer maior desempenho sem a complexidade de outros projetos.
  • Expressou sua opinião sobre a previsão de que a AMD voltará ao setor de IA aproveitando seu conhecimento sobre chiplets e bus fabric.

    • Admitiu não ter confiança para ler esse artigo, ou até para ler esse tipo de coisa em geral, e que queria apenas expressar sua visão.
  • Levantou a dúvida sobre quando a palavra "compute" começou a ser usada como substantivo.

    • Expressou desconforto com o uso de "compute" como substantivo.
  • Há décadas a capacidade de computação supera a memória. Assim como as CPUs, as GPUs também estão lidando com isso por meio de estratégias de cache cada vez mais sofisticadas.

    • Diferentemente das CPUs, as GPUs não tentam uma resposta direta, mas aceitam latências mais altas e oferecem o efeito de 'ocultação de latência' ao paralelizar em uma escala muito maior. Isso pode ser citado como exemplo em apresentações sobre otimização de código para GPU.