AMD Instinct MI300: um novo olhar sobre aceleradores

Do ponto de vista técnico e de engenharia, o MI300 desenvolve as ideias estabelecidas na série MI200. Mas a embalagem e o design dos produtos da geração CDNA3 tornaram-se significativamente mais complexos e avançados. Com o advento do MI300, podemos finalmente falar de uma arquitetura verdadeiramente heterogênea que utiliza ativamente a integração horizontal e vertical de módulos. Isto foi conseguido através do uso de tecnologias de embalagem usando o substrato intermediário CoWoS avançado.

O chip pode conter até oito módulos aceleradores (XCD) e quatro módulos de entrada/saída (IOD), que incluem a infraestrutura do sistema e combinam os chips em uma única unidade por meio da interconexão Infinity Fabric. Os módulos IOD também são responsáveis ​​por interagir com oito conjuntos de memória de alto desempenho HBM3. Todos os 12 módulos funcionam como uma unidade única do ponto de vista do software e totalizam até 153 bilhões de transistores. A montagem final é comparável em complexidade à Ponte Vecchio.

Fonte: AMD

Módulos IOD e conjuntos HBM3 são colocados diretamente no intermediário e chips de computação são instalados na parte superior do IOD. Eles se conectam aos chips subjacentes usando tecnologia desenvolvida pela AMD em soluções com 3D V-Cache. O Bond Pad Via (BPV) na parte inferior do XCD alinha-se precisamente com os pads na parte superior do IOD, onde as conexões TSV são roteadas verticalmente através da matriz. É curioso que os chips superiores possam ser instalados em duas posições: normal e girado 180°.

Fonte: AMD via ServeTheHome

O MI300 existe em duas formas: o acelerador MI300X “puro”, que inclui oito XCDs, e o híbrido MI300A, que possui seis módulos XCD complementados por três módulos CCD, que no total fornecem 24 núcleos x86 Zen 4. No segundo caso há já são 13 chips, mas há um pouco menos de transistores (146 bilhões), já que os núcleos Zen são mais simples que o XCD.

A capacidade do Infinity Cache em ambos os casos é de 256 MB. A configuração dos assemblies HBM3 não muda, apenas seu volume, que é de 16 ou 24 GB por bloco. O pacote térmico dos novos produtos da AMD é aproximadamente o mesmo: 750 W para o MI300X no design OAM e 760 W para o MI300A híbrido, mais parecido com o EPYC Genoa normal.

Fonte: AMD

Os módulos XCD na arquitetura CDNA 3 são menores que os blocos de construção equivalentes do CDNA 2. Eles contêm menos unidades de execução (CUs), mas isso permite que as soluções MI300 sejam configuradas de forma mais flexível, de modo que o número total de CUs possa chegar a 304, que é 40% a mais que o mesmo indicador MI250X. Alguns dos recursos do XCD são comuns a todas as CUs: agendador, organizador de filas de hardware, cache L2 de 4 MB. Existem também quatro motores de computação assíncronos (ACEs) atendendo 40 UCs. Por padrão, apenas 38 UCs estão ativas. Dois estão desativados para aumentar o rendimento de cristais utilizáveis, mas é provável que cristais de 40 blocos sejam selecionados para clientes particularmente exigentes.

Fonte: AMD

Com o CDNA 3, a AMD redesenhou completamente a arquitetura de memória, começando com caches L2 e terminando com a transição para HBM3. Isso evitou possíveis gargalos: por exemplo, a taxa de transferência L2 no XCD atinge 51,6 TB/s, o Infinity Cache pode transferir dados a uma velocidade de 17,2 TB/s e também se comunica com assemblies HBM3 a velocidades de até 5,3 TB/s. No caso do MI300A, uma arquitetura de memória unificada permite evitar “caminhos longos” na troca de dados entre CPU e GPU – a APU possui um único pool HBM, e qualquer um dos componentes do acelerador, seja XCD ou CCD, pode acessá-lo igualmente. Este é um afastamento significativo da abordagem mais heterogênea da NVIDIA com o GH200.

As especificações do MI300A e MI300X são bastante próximas: como já mencionado, ambos os novos produtos são baseados na arquitetura CDNA 3 e, na verdade, diferem apenas na substituição dos dois módulos de computação XCD do MI300A por três módulos com general- núcleos de processador x86 de propósito específico e conjuntos HBM3 menos espaçosos.

Fonte aqui e abaixo: AMD

Ambos os chips são fabricados nas instalações da TSMC usando uma tecnologia de processo de 5 nm (6 nm para módulos IOD), ambos possuem oito conjuntos HBM3 com o mesmo rendimento de cerca de 5,3 TB/s, mas os conjuntos em si não são os mesmos – o acelerador padrão tem o volume de onboard A memória é de 192 GB, enquanto a APU possui apenas 128 GB.

As capacidades de comunicação dos módulos IOD são configuradas de forma diferente. No MI300X, cada um deles “olha para o mundo” com sete linhas Infinity Fabric, o que, entre outras coisas, torna uma topologia com oito aceleradores facilmente implementada sem o uso de meios de comutação adicionais. As linhas restantes são configuradas como portas PCI Express 5.0 x16. E esta é uma diferença importante em relação ao NVIDIA H100, que requer chips NVSwitch, que geralmente não podem ser chamados de frios.

Fonte: AMD

O MI300A mais versátil possui apenas quatro pistas Infinity Fabric por IOD, as linhas restantes são configuradas como quatro portas PCIe 5.0. Isso é bastante lógico, já que a APU terá que se comunicar com um grande número de dispositivos periféricos, já no MI300X o PCIe serve apenas para se comunicar com o processador host. Por outro lado, para o MI300X, a configuração ideal, quando há uma interface de rede por acelerador, não deixa possibilidade de conexão de drives sem a utilização de um switch PCIe.

A velocidade máxima do clock do XCD para ambas as variantes é 2,35 GHz. Mas devido ao fato de o número total de processadores stream e núcleos matriciais dos chips ser diferente – 19456/126 e 14592/912, respectivamente – o desempenho também é diferente. Mas mesmo o MI300A nos modos vetorial e matricial FP32/64, segundo a AMD, é aproximadamente duas vezes mais rápido que o NVIDIA H100 SXM, e nos modos AI de baixa precisão não é inferior ao último. O MI300X, que possui mais 2 módulos XCD, é proporcionalmente mais rápido. Em geral, parece que o MI300, diferentemente do H100, foi originalmente projetado para cargas FP64.

Fonte: AMD via ServeTheHome

Como pode ser visto na comparação das características do MI300X e NVIDIA H100 SXM, a superioridade da AMD é bastante natural: há uma quantidade maior de memória mais rápida e um ganho sério em todos os modos de computação, de INT8 a FP64. Uma comparação em nível de plataforma também é interessante, pois a NVIDIA possui a plataforma HGX H100, que também utiliza oito aceleradores por nó.

Fonte: AMD

Em primeiro lugar, o que chama a atenção é o ganho significativo na quantidade de memória local, quase 2,5 vezes – e aqui a vantagem da AMD é óbvia, já que o volume de modelos de IA utilizados em treinamento cresce a cada dia e 1,5 TB de memória HBM3 serão necessários. claramente não ser supérfluo. É justamente pela quantidade de memória que os ganhos da AMD poderão ser mais significativos, principalmente em tarefas de inferência.

Fonte: AMD

É também importante notar que em termos dos parâmetros dos sistemas de interligação, ambas as plataformas estão muito próximas e não se observa uma liderança clara. No entanto, deve-se notar que, em primeiro lugar, estes são testes próprios da AMD e, em segundo lugar, a NVIDIA lançará em breve os aceleradores H200 (141 GB HBM3e com largura de banda de memória de 4,8 TB/s) e GH200 (624 GB HBM3e) + LPDDR5x, largura de banda de memória 4,9 TB/s).

Fonte: AMD via ServeTheHome

A situação do MI300A não é menos interessante se compararmos este novo produto com o H100. A nova APU é posicionada pela AMD como um “bloco de construção” para sistemas HPC de próxima geração. Em cargas de trabalho típicas do mundo HPC, tanto o subsistema de memória é importante, onde a AMD novamente tem primazia, quanto o desempenho nos modos FP32 e FP64. E aqui, mesmo teoricamente, o MI300A tem uma dupla vantagem sobre o H100, que, além disso, não pode funcionar no modo de cálculo de matriz FP32. Em tarefas reais, os ganhos podem ser maiores justamente pela nova arquitetura de memória.

Fonte: AMD

No exemplo padrão da motocicleta OpenFOAM, o novo APU superou o H100 em quatro vezes, enquanto operava com um TDP de 550 W contra 700 W da NVIDIA. E mesmo ao comparar o MI300A no modo TDP de 760 W, a eficiência energética é demonstrada como sendo duas vezes maior do que o acelerador NVIDIA pode mostrar. Portanto, podemos dizer com segurança que os novos supercomputadores baseados no AMD MI300A serão não apenas rápidos, mas também econômicos.

A estrutura geral dos cristais XCD já foi descrita acima, é hora de mergulhar mais fundo. Cada unidade de execução (CU) no XCD é um processador multithread completo com um agendador, cache L1 de 32 KB e compartilhamento de dados local (LDS). Este último serve para uma troca de dados mais eficiente entre núcleos de computação dentro do XCD e uma melhor utilização desses núcleos.

Fonte: AMD

Cada duas UCs ​​compartilham um cache de instruções multiassociativo comum de oito canais com capacidade de 64 KB, que é duas vezes maior que no CDNA2. Este é o mesmo volume do LDS. O tamanho da linha de cache dobrou, de 64 para 128 bytes. Conseqüentemente, o barramento de solicitação do cache de dados L2 foi expandido, o que significa que a taxa de transferência neste ponto dobrou.

Fonte: AMD

Os próprios núcleos são arquitetonicamente semelhantes aos núcleos CDNA2, mas o design foi significativamente redesenhado para fornecer paralelismo mais eficiente em todos os níveis. Em alguns casos, o desempenho ao realizar operações vetoriais ou matriciais foi duplicado ou até quadruplicado. Mas a inovação mais importante no CDNA3 talvez deva ser considerada a atualização dos núcleos matriciais, projetados para funcionar da maneira mais eficiente possível com tipos de dados típicos para cargas de trabalho de IA.

Fonte: AMD

Eles suportam FP16 e BF16, que são típicos do modo de treinamento, e INT8, que é usado ativamente no modo de inferência. Comparados ao MI250X, os novos núcleos de matriz MI300 são quase 3,5 vezes mais rápidos no primeiro caso e 6,8 vezes mais rápidos no segundo. Nos modos FP32 e FP64 o ganho é menor, mas ainda até 1,7 vezes.

Além disso, o MI300 recebeu suporte para novos tipos de dados: FP8 e TF32. Este último é um cruzamento entre FP16 e BF16, e permite substituir o FP32 no treinamento sem perda de precisão, ao mesmo tempo que proporciona maior desempenho. Além disso, este modo não apresenta certas desvantagens do FP16 e do BF16: o primeiro não é muito bom para grandes modelos de linguagem (LLM), e a mantissa BF16 pode não ser suficiente para alguns sistemas de visão computacional.

Fonte: AMD

O modo FP8 foi introduzido para atingir desempenho máximo com uso mínimo de memória. CDNA 3 suporta duas variantes deste modo, descritas nas especificações de ponto flutuante de 8 bits do OCP: E5M2 para treinamento e E4M3 para inferência. Neste modo, pode ser alcançado um desempenho 16 vezes superior ao do modo FP32.

Fonte: AMD via ServeTheHome

Finalmente, os kernels matriciais agora têm suporte efetivo para dados esparsos, o que permite duplicar o desempenho formal em dados reais. Ao mesmo tempo, o aparecimento de suporte para computação esparsa introduz alguma confusão quando comparado com outros chips, dos quais alguns fornecedores já aproveitaram.

A nova hierarquia de subsistemas de memória também é interessante. No CDNA3, ele foi completamente redesenhado em comparação com o CDNA2, a fim de liberar mais plenamente o potencial da arquitetura de chiplet heterogêneo MI300 e garantir a coerência automática do cache, começando no nível L2.

Fonte: AMD via ServeTheHome

A função deste último mudou devido à introdução do Infinity Cache como cache de último nível. Várias funções de memória foram movidas do L2 para o Infinity Cache, e o próprio cache L2 foi redesenhado para lidar melhor com o fluxo de diversos fluxos de dados, mantendo seu isolamento do tráfego de coerência. Na verdade, L2 é um “ponto de troca” – é através do cache L2 que ocorre toda a comunicação do XCD com outros blocos.

O cache L2 opera em modo write-back e tem capacidade de 4 MB. Porém, é de 16 canais e multiassociativo, e cada um dos canais pode acessar independentemente um bloco de 256 KB, o que é importante porque o cache é compartilhado entre todas as 38 UCs que fazem parte do XCD. É possível ler simultaneamente do cache quatro solicitações de UCs diferentes por ciclo de clock usando linhas de 128 bytes. Na gravação, o volume por linha é a metade, ou seja, 64 bytes por canal por clock, mas também é suportada uma solicitação ao Infinity Cache.

Fonte: AMD via ServeTheHome

A coerência L2 é mantida dentro do XCD, e o Infinity Cache usa um filtro snoop para que todas as solicitações de coerência de XCDs vizinhos não sobrecarreguem as partições L2 já muito utilizadas. O Infinity Cache no MI300 pode conter estruturas de dados que normalmente não são armazenadas em cache, como buffers de E/S. O desempenho ao mesmo tempo chega a 17,2 TB/s, ou seja, está no nível característico dos caches L2 das soluções da geração anterior.

Este cache também é multiassociativo de 16 vias. Ele está conectado aos conjuntos HBM por 16 canais paralelos, cada um com 64 bytes de largura. Existem oito conjuntos HBM3 por quatro cristais IOD, para um total de 128 canais. Como já mencionado, os conjuntos HBM3 podem ter capacidade de 16 ou 24 GB, e o pool de memória que eles formam é unificado para XCD e CCD no caso do MI300A.

Fonte: AMD

Tecnicamente, o array XCD pode ser dividido em GPUs virtuais, o que é importante para cenários de nuvem, mas também pode atuar como uma única GPU grande. A granularidade da partição, porém, é diferente: oito seções para o MI300X, mas apenas três para o MI300A, ou seja, dois XCDs para cada um dos três CCDs.

Fonte: AMD

O recurso dos assemblies HBM também pode ser compartilhado, mas apenas com a condição de que o número de partições de memória não exceda o número das próprias partições GPU. As novas soluções AMD oferecem suporte total ao isolamento de partição e fornecem SR-IOV. O particionamento funciona no nível do sistema operacional, com o driver acelerador servindo como cliente para o gerenciador de memória do sistema operacional.

Fonte: AMD

Quanto à comunicação com o mundo exterior, cada cristal IOD contém dois links Infinity Fabric de 16 linhas cada: no total, oito canais de 16 linhas estão disponíveis no MI300X, sete dos quais são destinados à comunicação com outros chips como parte de um oito -chip Chassi OAM , e o oitavo é configurado como PCI Express 5.0 e é usado para comunicação com periféricos. Este design se encaixa perfeitamente no padrão OCP Universal Base Board (UBB).

Fonte: AMD

A APU MI300A possui uma topologia ligeiramente diferente. Como parte de um sistema de quatro processadores, cada chip é conectado a seus vizinhos por meio de dois links Infinity Fabric com largura de banda de 256 GB/s, e parte dos recursos IF é usada para organizar portas PCIe 5.0 x16, conectores M.2 e outros periféricos. Esta opção é preferível para organizar nós de processador universais para tarefas de HPC, pois incluirá não apenas 912 UCs com arquitetura CDNA3, mas também 96 núcleos de processador Zen 4.

Embora a arquitetura e o design do MI300X permitam nós de computação com oito módulos aceleradores OAM, surge a pergunta: quão preparada está a nova arquitetura AMD para escalar em níveis mais altos? A AMD está depositando suas esperanças principalmente na Ethernet/Slingshot ou em outra interconexão com uma interface PCIe 5.0. Mas agora tem uma resposta para o NVIDIA NVLink 4. A NVIDIA já adaptou este último para o GH200 NVL32 – um acelerador empilhado do tamanho de um rack inteiro.

Fonte: AMD

O Infinity Fabric é baseado em PCI Express, mas pode operar em praticamente qualquer nível, desde a conexão de chips em processadores e aceleradores AMD até a interconexão entre soquetes. Se necessário, o barramento é facilmente configurado em PCIe 5.0 e CXL. Isso facilita a criação de switches de nível superior, que é o que a Broadcom fará, anunciando suporte para XGMI e Infinity Fabric na próxima geração de seus switches PCIe. Espera-se que também sejam criados adaptadores de rede com suporte XGMI.

Fonte: AMD

Assim, ao construir um cluster de IA baseado em MI300, será possível evitar perdas de eficiência ao transferir dados em uma cadeia “CPU-GPU/PCIe/RDMA-Ethernet” bastante longa. A conexão “XGMI-XGMI” neste caso é muito interessante, especialmente em tarefas de treinamento de IA em larga escala. Portanto, a interconexão XGMI no nível do rack e do cluster parece promissora. GigaIO já está pronto para criar nuvens a partir de milhares de MI300X.

Ao usar aceleradores, especialmente em larga escala, a questão de ter um software popular e fácil de usar para executá-los é crítica e determina em grande parte o sucesso da plataforma. Anteriormente, a AMD tentava contar com padrões e soluções abertas, bem como com modularidade, o que, segundo o plano da empresa, deveria atrair novos desenvolvedores e formar um ecossistema completo.

Fonte: AMD

A empresa não mudou sua política – quase todos os componentes da próxima plataforma ROCm 6 usam licenças abertas, de drivers a compiladores e um conjunto de bibliotecas de HPC e IA. A documentação necessária para ROCm está disponível no site da AMD, e os repositórios de código aberto correspondentes também estão disponíveis para os componentes.

Fonte: AMD via ServeTheHome

Mas a AMD finalmente mudou sua abordagem geral, investindo no desenvolvimento de software e concluindo diversas novas parcerias no ano passado. O primeiro sinal foi a integração com PyTorch e depois com Lamini e MosaicML. Durante o anúncio do MI300, foi anunciado suporte para OpenAI Triton, e ontem a empresa anunciou uma colaboração com ONNX.

Fonte: AMD via ServeTheHome

Na sexta versão do ROCm, todos os componentes foram seriamente otimizados, desde o kernel do sistema até as bibliotecas de inferência. Em combinação com os novos aceleradores MI300X, isto permite à AMD falar de uma vantagem óctupla sobre a plataforma MI250 com ROCm 5. O ecossistema compatível com as novas soluções AMD já é bastante impressionante e continua a crescer, embora ainda esteja longe de corresponder ao Plataforma de software NVIDIA.

Fonte: AMD

A atenção do mercado ao MI300 e ao CDNA3 como um todo é bastante elevada; a lista de empresas interessadas inclui tanto os principais fabricantes de servidores e equipamentos de rede, como também grandes gigantes de software, incluindo Microsoft ou Oracle, bem como centros de dados e fornecedores de serviços em nuvem .

Fonte: AMD

Os aceleradores Instinct MI300X estão sendo fornecidos aos clientes agora, e os processadores híbridos MI300A, que já foram instalados no supercomputador El Capitan, também estão sendo produzidos em massa. Aparentemente, um destino de sucesso aguarda o MI300 – os novos produtos da AMD têm todas as qualidades necessárias para conquistar um lugar digno ao sol no mercado de IA e HPC. A empresa espera entregar 400 mil aceleradores no próximo ano. Porém, o mercado, que necessita urgentemente de aceleradores NVIDIA, parece pronto para absorver qualquer volume de aceleradores alternativos, desde que os prazos de entrega não sejam tão assustadores. Algumas pessoas são forçadas a se contentar com a CPU.

avalanche

Postagens recentes

Trump prometeu tornar os EUA uma superpotência em criptomoedas

O ex-presidente dos EUA e atual candidato republicano Donald Trump anunciou sua intenção de tornar…

2 horas atrás

Nio não está entusiasmado com a ideia de negócio do táxi robô

Na China e nos Estados Unidos, a ideia de produzir táxis sem motorista é sonhada…

7 horas atrás

Ninguém Quer Morrer é um clássico noir alguns séculos depois. Análise

Jogado no pc Ninguém Quer Morrer é um caso raro em que o anúncio e…

15 horas atrás

Nem tão simples e nem tão rápido: os cientistas estudaram os recursos de memória e NVLink C2C no NVIDIA Grace Hopper

O acelerador híbrido NVIDIA Grace Hopper combina módulos de CPU e GPU, que são conectados…

15 horas atrás