O acelerador híbrido NVIDIA Grace Hopper combina módulos de CPU e GPU, que são conectados por meio da interconexão NVLink C2C. Mas, como relata o HPCWire, existem algumas nuances na estrutura e operação do superchip, que foram descritas por pesquisadores suecos.
Eles conseguiram medir o desempenho dos subsistemas de memória Grace Hopper e da interconexão NVLink em cenários da vida real para comparar os resultados obtidos com as características declaradas pela NVIDIA. Lembramos que a velocidade de 900 GB/s foi inicialmente declarada para interconexão, o que é sete vezes maior que as capacidades do PCIe 5.0. A memória HBM3 como parte da GPU tem largura de banda de até 4 TB/s, e a versão com HBM3e já oferece até 4,9 TB/s. A parte do processador (Grace) usa LPDDR5x com largura de banda de memória de até 512 GB/s.
Nas mãos dos pesquisadores estava a versão básica do Grace Hopper com 480 GB LPDDR5X e 96 GB HBM3. O sistema executou Red Hat Enterprise Linux 9.3 e usou CUDA 12.4. No benchmark STREAM, os pesquisadores conseguiram obter os seguintes indicadores de largura de banda: 486 GB/s para CPU e 3,4 TB/s para GPU, o que está próximo das características declaradas. No entanto, a velocidade resultante do NVLink-C2C foi de apenas 375 GB/s na direção host-dispositivo e apenas 297 GB/s na direção oposta. O total é de 672 GB/s, o que está longe dos 900 GB/s declarados (75% do máximo teórico).
Grace Hopper, por design, oferece dois tipos de tabelas para páginas de memória: uma para todo o sistema (páginas de 4 KB ou 64 KB por padrão), que cobre a CPU e GPU, e uma exclusiva para a parte da GPU (2 MB) . Neste caso, a velocidade de inicialização depende de onde vem a solicitação. Se a inicialização da memória ocorrer no lado da CPU, então os dados são colocados por padrão em LPDDR5x, ao qual a parte da GPU tem acesso direto via NVLink C2C (sem migração), e a tabela de memória fica visível tanto para a GPU quanto para a CPU.
Se a memória não for gerenciada pelo sistema operacional, mas pelo CUDA, a inicialização poderá ser organizada imediatamente no lado da GPU, que geralmente é muito mais rápida, e os dados poderão ser colocados no HBM. Neste caso, é fornecido um único espaço de endereço virtual, mas existem duas tabelas de memória, para CPU e GPU, e o mecanismo de troca de dados entre elas envolve migração de páginas. No entanto, apesar da presença do NVLink C2C, a situação ideal permanece quando o HBM é suficiente para cargas de GPU e o LPDDR5x é suficiente para cargas de CPU.
Os pesquisadores também abordaram a questão do desempenho ao usar páginas de memória de tamanhos diferentes. Páginas de 4 KB normalmente são utilizadas pela parte do processador com LPDDR5X, e também nos casos em que a GPU precisa receber dados da CPU via NVLink-C2C. Mas, como regra, em cargas de trabalho de HPC é ideal usar páginas de 64 KB, que exigem menos recursos para serem gerenciadas. Quando o acesso à memória é caótico e inconsistente, as páginas de 4 KB permitem um controle mais preciso dos recursos. Em alguns casos, é possível obter um benefício de desempenho 2x ao não mover dados não utilizados em páginas de 64 KB.
O trabalho publicado observa que serão necessárias mais pesquisas para compreender melhor os mecanismos de memória unificada em soluções heterogêneas como Grace Hopper.
A Huawei espera que o número de aplicações para a sua plataforma de software HarmonyOS…
Uma década depois de o herdeiro de terceira geração da Samsung, Lee Jae-yong, ter assumido…
Há exatos 20 anos, em 23 de novembro de 2004, World of Warcraft foi lançado,…
A Xiaomi chama a atenção dos usuários para seus novos smartphones Xiaomi 14T Pro, Xiaomi…
Um novo relatório de analistas da iSeeCars mostrou que, entre as marcas de automóveis, os…
Tronsmart oferece aos usuários uma variedade de alto-falantes Bluetooth, incluindo Halo 200, Mirtune S100 e…