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
Opiniões do Hacker News