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 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).

Fonte: NVIDIA

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.

Fonte: arxiv.org

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.

Fonte: arxiv.org

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.

avalanche

Postagens recentes

Uma nova missão foi concebida para um grande helicóptero marciano: ele buscará água e vida nos cânions do planeta

O pequeno drone Ingenuity provou que veículos voadores têm boas perspectivas para reconhecimento aéreo em…

11 minutos atrás

Uma nova missão foi concebida para um grande helicóptero marciano: ele buscará água e vida nos cânions do planeta

O pequeno drone Ingenuity provou que veículos voadores têm boas perspectivas para reconhecimento aéreo em…

17 minutos atrás

Zephyr revela placa de vídeo compacta GeForce RTX 4070 Sakura Snow X em caixa cortada em CNC

A empresa chinesa Zephyr, famosa por sua abordagem de design fora do padrão, apresentou a…

3 horas atrás

A Kawasaki revelou um verdadeiro cavalo de ferro – uma motocicleta com pernas em vez de rodas que salta sobre ravinas

A empresa japonesa Kawasaki introduziu um novo tipo de transporte pessoal – literalmente um cavalo…

7 horas atrás

A Kawasaki revelou um verdadeiro cavalo de ferro – uma motocicleta com pernas em vez de rodas que salta sobre ravinas

A empresa japonesa Kawasaki introduziu um novo tipo de transporte pessoal – literalmente um cavalo…

7 horas atrás