Como configurar o NVLink no VPS
O NVLink da NVIDIA é uma tecnologia de interconexão de alta velocidade projetada para permitir a comunicação rápida entre GPUs e CPUs em um sistema, permitindo taxas de transferência de dados muito mais altas do que as conexões PCIe tradicionais. Ela é particularmente benéfica em computação de alto desempenho (HPC), pesquisa de IA e tarefas de aprendizagem profunda, em que grandes volumes de dados precisam ser processados rapidamente entre GPUs. A configuração do NVLink pode melhorar significativamente o desempenho de cargas de trabalho que exigem configurações de várias GPUs. Este guia o guiará pelas etapas de configuração do NVLink em sua máquina.
O que é o NVLink?
O NVLink é uma tecnologia de interconexão proprietária da NVIDIA que permite a transferência de dados entre GPUs ou entre GPUs e CPUs com altas larguras de banda. Ela permite uma comunicação mais rápida do que as conexões PCI Express (PCIe) padrão, usando várias pistas de dados. Essa comunicação direta minimiza a necessidade de os dados passarem pela CPU, o que pode reduzir os gargalos e melhorar o desempenho geral do sistema.
Principais vantagens do NVLink:
- Comunicação mais rápida: O NVLink oferece até 25 GB/s de largura de banda bidirecional por link, significativamente mais rápido que o PCIe 3.0.
- Escalabilidade: O NVLink permite o dimensionamento em várias GPUs para computações complexas, como treinamento de modelos de IA ou simulações científicas.
- Acesso unificado à memória: O NVLink facilita o acesso à memória compartilhada entre as GPUs, permitindo que elas usem a memória umas das outras e trabalhem juntas em grandes conjuntos de dados.
Pré-requisitos para a configuração do NVLink
Antes de configurar o NVLink, verifique se você tem o seguinte:
- GPUs compatíveis: O NVLink está disponível apenas em determinadas GPUs NVIDIA, como a NVIDIA Tesla, Quadro e GeForce RTX (2080, 2080 Ti, 3080, 3090, etc.). Verifique se suas GPUs suportam o NVLink consultando a documentação da NVIDIA para o modelo específico que você está usando.
- Ponte NVLink: É necessária uma ponte NVLink para conectar fisicamente as GPUs. O número de pontes necessárias dependerá do número de GPUs e da configuração desejada. Algumas GPUs podem usar vários NVLinks para obter maior largura de banda.
- Sistema habilitado para NVLink: Certifique-se de que a placa-mãe e o BIOS do seu sistema sejam compatíveis com o NVLink. O sistema deve ter slots PCIe suficientes e espaçamento adequado para acomodar fisicamente as GPUs e a ponte NVLink.
- Drivers NVIDIA e CUDA: você precisará instalar os drivers NVIDIA e o kit de ferramentas CUDA mais recentes para utilizar totalmente o NVLink. Eles são essenciais para permitir a comunicação entre as GPUs.
Guia passo a passo para configurar o NVLink
Etapa 1: Instalar as GPUs
Antes de configurar o NVLink, instale suas GPUs NVIDIA compatíveis nos slots PCIe do seu sistema. Certifique-se de que as GPUs estejam encaixadas com segurança em seus respectivos slots. Se a sua placa-mãe for compatível com várias GPUs, preste atenção ao espaçamento do slot, pois ele deve acomodar a ponte NVLink.
- Desligue a máquina e desconecte-a da tomada.
- Abra o gabinete do sistema.
- Insira as GPUs nos slots PCIe e fixe-as no lugar.
- Conecte todos os cabos de alimentação necessários da unidade de fonte de alimentação (PSU) às GPUs.
- Feche o gabinete do sistema e ligue-o novamente.
Etapa 2: instalar o NVLink Bridge
Depois que as GPUs estiverem instaladas, você poderá conectá-las usando a ponte NVLink. Siga estas etapas:
- Identifique os conectores NVLink na parte superior das GPUs. Esses conectores foram projetados especificamente para a ponte NVLink.
- Alinhe a ponte NVLink com os conectores e pressione-a cuidadosamente no lugar. Certifique-se de que a ponte esteja assentada firmemente em ambas as GPUs.
- Se sua configuração usar várias pontes NVLink (para algumas GPUs com dois conectores), repita esse processo para cada ponte.
Etapa 3: Instalar os drivers NVIDIA
Para ativar o NVLink, você precisa ter os drivers mais recentes da NVIDIA instalados em seu sistema. Siga estas etapas para instalar os drivers:
- Faça o download dos drivers NVIDIA mais recentes: Visite a página de downloads de drivers NVIDIA, selecione o modelo da sua GPU e faça o download dos drivers apropriados para o seu sistema operacional.
- Instale os drivers: Para Linux:
No Windows, execute o instalador do driver baixado e siga as instruções na tela.
- Reinicialize o sistema: Depois de instalar os drivers, reinicie o sistema para garantir que as alterações tenham efeito.
Etapa 4: Instalar o kit de ferramentas CUDA
O NVLink é frequentemente usado em combinação com a CUDA, especialmente em tarefas de aprendizagem profunda e HPC. Para aproveitar totalmente o NVLink, você precisa ter o kit de ferramentas CUDA instalado em seu sistema.
- Faça o download do kit de ferramentas CUDA: Visite a página de download do kit de ferramentas CUDA e faça o download da versão apropriada para seu sistema operacional.
- Instale o CUDA: Para Linux:
No Windows, execute o instalador do CUDA e siga as instruções.
- Verifique a instalação do CUDA: Após a instalação, verifique se o CUDA está instalado corretamente executando o seguinte comando:
Isso deve retornar a versão do CUDA instalada em seu sistema.
Etapa 5: habilitar o NVLink
Agora que suas GPUs estão instaladas e os drivers e a CUDA estão configurados, você pode habilitar o NVLink.
- Verifique a configuração da GPU: Verifique se as GPUs estão instaladas e são reconhecidas pelo sistema usando o seguinte comando (Linux):
Isso deve listar todas as GPUs instaladas em seu sistema e mostrar seus respectivos status de PCIe e NVLink.
- Habilite o NVLink com o nvidia-smi: a ferramenta nvidia-smi é usada para habilitar e monitorar o NVLink. Para verificar se o NVLink está ativado, execute:
Se o NVLink estiver configurado corretamente, a saída exibirá links entre as GPUs, indicando quais GPUs estão conectadas via NVLink. Procure o rótulo “NVLink” entre os pares de GPUs.
- Benchmark do NVLink: Você pode executar testes ou benchmarks para medir o desempenho do NVLink. Ferramentas como cuBLAS ou NCCL (NVIDIA Collective Communications Library) podem ser usadas para avaliar as taxas de transferência de dados entre GPUs pelo NVLink.
Etapa 6: Configurar aplicativos para usar o NVLink
Para que seus aplicativos aproveitem o NVLink, você precisa configurá-los para utilizar a interconexão de alta largura de banda entre as GPUs. Muitas estruturas de aprendizagem profunda, como TensorFlow, PyTorch e MXNet, detectam automaticamente o NVLink e o utilizam para operações com várias GPUs.
Por exemplo, no TensorFlow, você pode verificar as GPUs disponíveis e sua conectividade NVLink usando:
Estruturas como a NCCL (NVIDIA Collective Communications Library) são otimizadas para NVLink e são usadas para transferências de dados em ambientes com várias GPUs.
Etapa 7: Monitorar o status do NVLink
Depois que o NVLink estiver configurado, é essencial monitorar seu status para garantir que esteja funcionando corretamente. A ferramenta nvidia-smi fornece um monitoramento abrangente do tráfego do NVLink, da utilização da largura de banda e do desempenho da GPU. Você pode usá-la:
Esse comando mostra estatísticas detalhadas sobre a conexão NVLink, incluindo a taxa de transferência e os erros encontrados durante as transferências de dados.
Conclusão
A configuração do NVLink em uma máquina pode melhorar significativamente o desempenho das configurações de várias GPUs, especialmente para cargas de trabalho que envolvem transferência de dados em alta velocidade entre GPUs, como aprendizagem profunda, treinamento de IA e tarefas de HPC. Ao seguir as etapas descritas neste guia, você pode instalar e configurar o NVLink para obter o desempenho ideal em seu sistema. Certifique-se de instalar corretamente suas GPUs, conectá-las com a ponte NVLink apropriada e instalar os drivers e o kit de ferramentas CUDA mais recentes para obter suporte total ao NVLink. Por fim, monitore o desempenho e o status do NVLink para garantir que ele esteja funcionando como pretendido, permitindo que você aproveite totalmente seus recursos de interconexão de alta velocidade.