O que é NVIDIA NVLink

Introdução

Com o rápido desenvolvimento da tecnologia de IA e HPC, a interconexão de alta velocidade e a escalabilidade das GPUs apresentam requisitos mais elevados, uma tecnologia de interconexão de alta largura de banda, baixa latência e alto desempenho é crítica para a melhoria geral do desempenho da computação de IA. Em abril deste ano, Lao Huang propôs a terceira geração do NVIDIA NVSwitch e a quarta geração da tecnologia NVLink na conferência GTC, que fornece uma solução de interconexão ponto a ponto de alta velocidade para as GPUs H100 recém-lançadas que é ainda mais rápida do que as GPUs A100, e esse tipo de rede tem o protótipo da rede NVLink.

O chip NVSwitch de terceira geração, conhecido como NVSwitch3, pode ser usado para conectar cada placa GPU dentro do servidor e estender a conexão externa do servidor GPU para estabelecer um cluster GPU de alta velocidade independente e completo. Ao mesmo tempo, o chip NVSwitch suporta aceleração de mensagens multicast por meio de aceleradores de hardware e introduz SHARP (Scalable Hierarchical Aggregation and Reduction Protocol), que é um recurso importante disponível apenas em switches IB antes e é usado principalmente para acelerar e otimizar o All- Reduza a computação de IA. -Reduzir o desempenho da computação de IA. Enquanto isso, por meio do chip NVSwitch de terceira geração composto por switches físicos, é possível construir um cluster de até 256 placas GPU H100, e toda a rede fornece 57.6 TB/s de largura de banda total. A especificação NVLink 4.0 adotada pode otimizar bastante o desempenho e a escalabilidade da GPU, como a estrutura de bloco de processo paralelo da arquitetura GPU ecoa a estrutura paralela do NVLink, enquanto a interface do NVLink é ainda mais otimizada para a troca de dados no cache L2 da GPU.

Chip de comutação NVS
NVLink

NVLink é um protocolo para resolver a comunicação ponto a ponto entre GPUs dentro do servidor, a taxa de switch PCIe tradicional é a seguinte, o PCIE5.0 mais recente tem apenas 32 Gbps de largura de banda por pista, o que basicamente não satisfaz os requisitos de largura de banda de comunicação entre As GPUs, e com a tecnologia NVLink, as GPUs podem estar diretamente no servidor interno. Com a tecnologia NVLink, as GPUs podem se interconectar diretamente entre si dentro do servidor em altas velocidades, sem a necessidade de se comunicar por meio de switches PCIe. O NVLink de quarta geração tem largura de banda de 112 Gbps por pista, o que é três vezes maior que a largura de banda de uma pista PCIe Gen5.

Desempenho do link PCI Express

O principal objetivo do NVLink é fornecer uma rede ponto a ponto de alta velocidade para Interconexões de GPU sem a sobrecarga de retransmissão de mensagens ponta a ponta, roteamento adaptativo e remontagem de mensagens em comparação com redes tradicionais. A interface NVLink extremamente simplificada fornece aceleração CUDA da camada de sessão para a camada de representação, até a camada de aplicação, reduzindo ainda mais a sobrecarga da rede devido à comunicação.

HC34-NVIDIA-NVSWITCH-NVLINK-GENERAÇÕES
Largura de banda NVlink por GPU

Conforme mostrado na figura, podemos ver que o NVLink evoluiu junto com a arquitetura da GPU, desde o NVLink1 de primeira geração para P100 até o atual NVLink4 para H100. O NVLink3 suporta 50G NRZ e 56G PAM4, enquanto o NVLink4 apresenta pela primeira vez 112G PAM4 Serdes, que pode fornecer 900 GB/s de largura de banda bidirecional, um aumento de 1.5x em relação aos 3 GB/s da geração anterior do NVLink600. Então, como são calculados 900 GB/s? Cada GPU H100 é conectada a um chip NVSwitch3 interno por meio de 18 links NVLink4, e cada link NVLink4 é na verdade duas pistas, cada pista é 112G PAM4, então um único link NVLink4 tem uma largura de banda unidirecional de 224 Gbps, ou 25 GB/s (observe que aqui muda de bits para bytes) largura de banda unidirecional, largura de banda bidirecional de 50 GB/s e 18 links NVLink4 têm uma largura de banda bidirecional total de 900 GB/s.

Comutador NVS Chip

Chip NVSwitch de três gerações

Um chip NVSwitch é um tipo de switch ASIC que pode conectar várias GPUs com interfaces NVLink de alta velocidade, melhorando a comunicação e a largura de banda entre as GPUs em um servidor. Quando o P100 usava NVLink1, não havia chip NVSwitch e as GPUs formavam uma conexão em anel, o que impedia a comunicação direta entre GPUs em diferentes nós NUMA. A partir do V100 com NVLink2, um chip NVSwitch1 foi adicionado e, em seguida, o A100 com NVLink3 usou o chip NVSwitch2. O próximo é o chip NVSwith3 para H100.

nvlink-4-nvswitch
NVlink mais nítido

O chip é fabricado com o processo 4N da TSMC e contém 25.1 bilhões de transistores em uma matriz de 294 milímetros quadrados. O chip mede 50 mm por 50 mm e possui um controlador SHARP que pode lidar com 128 grupos paralelos SHARP simultaneamente. Ele também possui uma SHARP ALU incorporada, que pode realizar operações lógicas nos dados armazenados na memória SRAM que suporta computação SHARP. O SHARP ALU permite que o NVSwitch atinja 400GFLOPS de rendimento computacional FP32 e também suporta vários modos de precisão, como FP16, FP32, FP64 e BF16. O chip pode fazer interface com Ethernet de 400 Gbps ou NDR IB conexões através de seu circuito PHY, e cada gaiola pode acomodar quatro módulos ópticos NVLink4 OSFP com capacidade FEC. O chip possui recursos de segurança que permitem o particionamento da rede NVLink em sub-redes, além de funções de monitoramento de telemetria semelhantes ao IB. O chip NVSwitch3 possui 64 portas NVLink4, cada uma com duas pistas que oferecem 200 Gbps de largura de banda unidirecional. Portanto, o chip pode offé um total de 64*200 Gbps = 12.8 Tbps de largura de banda unidirecional ou 3.2 TB/s de largura de banda bidirecional.

-2x largura de banda efetiva do NVlink

O chip NVSwitch3 é o primeiro a integrar toda a função SHARP, que usa hardware para agregar e atualizar os resultados computacionais de múltiplas unidades GPU durante toda a redução, reduzindo assim o número de pacotes de rede e melhorando o desempenho computacional.

HC34-NVIDIA-NVSwitch-NVLink-Generations-Server-Any-to-Any

Servidor NVLink refere-se a um servidor que usa a tecnologia NVLink e NVSwitch para interconectar GPUs, geralmente os próprios servidores da série DGX da NVIDIA ou servidores OEM HGX com arquiteturas semelhantes.

PCIe

O servidor DGX-1 com GPUs P100 não introduziu NVSwitch, e todas as 8 GPUs foram conectadas por NVLink1, com cada P100 tendo 4 conexões NVLink1. O NVSwitch1 e o NVLink2 foram introduzidos na arquitetura de GPU NVIDIA V100, fornecendo alta largura de banda e conexão qualquer-para-qualquer entre várias GPUs em um servidor. O NVSwitch2 e o NVLink3 foram lançados na GPU NVIDIA A100.

Diagrama interno do servidor DGX A100

No diagrama interno do servidor DGX A100 acima, a conexão entre GPU e CPU é através do switch PCIe, e a conexão entre 8 GPUs é principalmente através de 6 chips NVSwitch2. Cada GPU se conecta ao chip NVSwitch2 com 12 NVlink3, e cada NVlink3 tem largura de banda unidirecional de 25 GB, que pode fornecer um total de 12 * 25 GB = 300 GB/s de largura de banda unidirecional ou largura de banda bidirecional de 600 GB/s para uma GPU. Vamos dar uma olhada nos parâmetros do servidor DGX H100:

DGX H100
  • 8 GPUs NVIDIA H100 Tensor Core com 640 GB de memória GPU agregada
  • 4x chips NVIDIA NVSwitch de terceira geração
  • 18x OSFPs de rede NVLink
  • 3.6 TB/s de largura de banda de rede NVLink full-duplex fornecida por 72 NVLinks
  • 8 portas NVIDIA ConnectX-7 Ethernet/InfiniBand
  • 2x DPUs BlueField-3 de porta dupla
  • CPUs duplas Sapphire Rapids
  • Suporte para PCIe Geração 5 
GPU H100
Suporte à rede NVlink

A GPU H100 introduziu o NVSwitch de terceira geração e a tecnologia NVLink de quarta geração, que pode fornecer uma largura de banda unidirecional de 450 GB/s para uma única GPU H100. Ele também introduziu um switch NVLink Switch externo do tipo caixa 1U, que fornece comunicação de alta velocidade para vários servidores GPU. Existem 8 GPUs H100 no DGX H100, e cada H100 está conectado a 4 chips NVSwitch3 com 18 NVLinks (5,4,4,5) ao mesmo tempo. O tráfego entre as GPUs é distribuído em 4 planos de comutação, alcançando assim o tráfego tudo-para-todos dentro da GPU. Cada chip NVSwitch3 interno possui uma taxa de convergência de 2:1 para o NVLink externo, projetado principalmente para considerar a complexidade e o custo da largura de banda de conexão entre servidores.

Comutador NVS

O switch NVLlink acaba de ser lançado este ano e nasceu para a interconexão do H100 Superpod. Ele adota um design de tamanho 1U com 32 portas OSFP, cada OSFP compreende 8 pistas 112G PAM4 e cada switch possui 2 chips NVSwitch3 integrados. Cada NVSwitch3 possui 64 NVLink4s, portanto, dois chips podem fornecer até 128 interfaces NVLink4, fornecendo largura de banda unidirecional de 128 * 400 Gbps = 51.2 TBps ou largura de banda bidirecional de 6.4 TB/s. O switch NVLink suporta portas de gerenciamento fora de banda, cabos DAC e cabos AOC e OSFP com firmware específico. Ainda não há informações públicas sobre este módulo OSFP. A aparência é considerada semelhante ao formato NDR OSFP abaixo. Duas portas MPO conectam cada uma uma porta 400G ou conectam diretamente uma porta 800G a um 24 núcleos Cabo MPO.

Com o switch físico NVSwitch, podemos conectar vários servidores GPU NVLink em uma grande rede Fabric, que é a rede NVLink. Esta rede é projetada principalmente para resolver problemas de largura de banda de comunicação de alta velocidade e eficiência entre GPUs e não inclui a rede de computação e rede de armazenamento entre CPUs. Na era sem o Rede NVLink, cada servidor aloca internamente espaço de endereço local para GPUs e depois se comunica entre si por meio do NVLink. Na rede NVLink, cada servidor possui seu próprio espaço de endereço independente, que é usado para fornecer transmissão de dados, isolamento e proteção de segurança para GPUs na rede NVLink. Quando o sistema é iniciado, a rede NVLink estabelece conexões automaticamente por meio de APIs de software e pode alterar endereços a qualquer momento durante a operação.

Rede NVLink

A figura a seguir compara a rede NVLink e a rede Ethernet tradicional. Pode-se observar que através do NVlink, chip NVSwitch e switch NVSwitch, uma rede NVLink independente da Ethernet IP e dedicada ao serviço GPU pode ser formada.

comparação

DGX H100 SuperPOD

DGX H100 SuperPOD

Um SuperPOD consiste em oito racks, cada um com quatro servidores DGX H100, para um total de 32 servidores e 256 placas GPU H100, fornecendo 1 exaFLOP (um quintilhão) de desempenho de IA esparso de precisão FP8. A rede NVLink dentro deste SuperPOD pode fornecer um total de 57.6 TB/s de largura de banda bidirecional total para 256 GPUs, enquanto o CX7 dentro dos 32 servidores DGX H100 pode se interconectar com o switch IB, fornecendo 25.6 TB/s de largura de banda bidirecional. , que permite usar ou conectar vários SuperPODs dentro de um POD.

Rede de superpods

NVS é o chip NVSwitch3 mencionado anteriormente e L2NVS é o switch físico NVSwitch mencionado anteriormente. Cada GPU em um DGX H100 estende 18 conexões NVLink4 para o norte, fornecendo largura de banda bidirecional de 1850 GB = 900 GB/s. Esses 18 NVLink4 são divididos em quatro grupos de 5,4,4,5 e conectados a quatro chips NVSwitch3 integrados. Desta forma, para 8 GPUs, cada chip NVS conecta 40,32,32,40 NVLink4 ao sul, totalizando 114 NVLink4, e então cada chip NVS faz uma convergência 2:1, conectando 4,4,4,4 NVLink4 em direção ao norte, para os 18 L2NVS externos, que são os switches NVSwitch 1U que mencionamos anteriormente. Essas chaves são divididas em quatro grupos de 5,4,4,5. Assim, um único chip NVS integrado conecta 20,16,16,20 NVLink4 ao norte, para um total de 72 NVLink4 e 114 NVLlink4 ao sul, formando uma taxa de convergência de 2:1. Aqui, cada NVLink4 consiste em duas pistas 112G PAM4, portanto, cada quatro links NVLink requerem um par de OSFP 800G módulos para conectar ponta a ponta. Desta forma, a metade superior da figura mostra uma rede de alta velocidade de interconexão GPU tudo-para-todos que forma uma rede NVlink.  

Chip NVSwitch3

O vídeo abaixo mostra como usar 800G OSFP SR8 em switches NVIDIA Quantum-2.

A interligação entre GPU e CPU é através do Switch PCIe GEN5 dentro da placa de rede CX7. A placa de rede CX7 dentro do DGX H100 não tem a forma de oito placas de rede CX6 independentes como no DGX A100 anterior, mas é composta por duas placas com chips de placa de rede para conectar ao servidor. Cada um dos quatro chips CX7 forma uma placa Cedar e produz dois OSFP 800G portos. Oito chips de placa de rede CX7 formam duas placas Cedar e produzem um total de quatro portas OSFP 800G. Isso fornece largura de banda bidirecional de 800 Gbps4*2=800 GB/s. A placa de rede CX7 aqui pode executar RoCE no modo Ethernet ou na rede NDR IB. Conforme mostrado na figura abaixo, 1024 GPUs em quatro SuperPODs H100 podem ser construídas com a topologia de árvore gorda do NDR IB.

Cada DGX H100 também possui dois Bluefield 3s para conexão à rede de armazenamento.

Cada DGX H100 também possui dois Bluefield 3s para conexão à rede de armazenamento.

Quão mais rápida será a conexão da GPU H100 após usar a rede NVLink, em comparação com a rede IB do A100? Aqui está uma comparação de largura de banda entre o DGX A100 256 POD e o DGX H100 256 POD:

comparação entre o DGX A100 256 POD e o DGX H100 256 POD

Bisection é um indicador de desempenho de quantos dados cada GPU precisa enviar para todas as outras GPUs simultaneamente em um cenário de todos para todos. Geralmente calcula a largura de banda da rede quando metade dos nós da rede envia dados para a outra metade e geralmente mede o tráfego sem bloqueio 1:1. 1 DGX A100 interno: 8/2600GB/s=2400GB/s 32 DGX A100 interno, um total de 256 GPUs A100, cada servidor conectado por 8 placas HDR de 200Gbps, e o switch TOR deve ter uma taxa de convergência de 4:1: 256/ 2/4200 GB/s = 6400 GB/s 1 DGX H100 interno: 8/2900 GB/s = 3600 GB/s 32 DGX H100 interno, a taxa de convergência de rede é 2:1, portanto: 256/2/2900 GB/s = 57600 GB/s (de onde vem a menção anterior de 57.6 TB/s) A bissecção de um único DGX pode aumentar a largura de banda em 1.5 vezes e a largura de banda bidirecional em 3 vezes, e a bissecção de 32 DGX pode aumentar a largura de banda em 9 vezes e a largura de banda bidirecional em 4.5 vezes.

mecanismo de recomendação neural

Conforme mostrado na figura, para treinar um sistema de recomendação com uma tabela de incorporação de 14 TB rodando no modelo de dados all2all, o H100 com NVLink tem desempenho superior ao H100 com IB. A seguir estão os resultados públicos do NCCL da comparação de largura de banda total e reduzida para várias GPUs e GPUs de vários nós em execução no servidor. Ao otimizar o NVLink4 e o NVSwitch3, o H100 pode alcançar largura de banda consistente para múltiplas placas internas e externas.

todos reduzem o desempenho
largura de banda total

Conclusão

Conclusão

As tecnologias NVlink e NVSwitch são desenvolvidas para atender às necessidades de comunicação ponto a ponto e ponto a multiponto de alta velocidade e baixa latência para multi-GPU. Eles também estão constantemente inovando com as mudanças nas arquiteturas de GPU. Desde a aquisição da Mellanox, a NVIDIA também começou a combinar a tecnologia NVLink e a tecnologia IB, lançando uma nova geração de chips e switches NVSwitch com funções SHARP, que são otimizados para redes externas de servidores GPU. A atual escala de rede NVLink que suporta até 256 GPUs é apenas o começo. Acredita-se que esta escala de rede NVlink se desenvolverá e melhorará ainda mais no futuro, e talvez criará um cluster de supercomputação adequado para computação de IA, computação de CPU, armazenamento e outras integrações de rede.

Deixe um comentário

Voltar ao Topo