Depois que você criar uma instância com uma ou mais GPUs, o sistema necessita de drivers de dispositivo NVIDIA para que os aplicativos possam acessar o dispositivo. Certifique-se de que as instâncias de máquina virtual (VMs) tenham espaço livre suficiente em disco. Escolha pelo menos 30 GB para o disco de inicialização ao criar a VM.
Neste documento, explicamos como instalar drivers proprietários da NVIDIA em VMs criadas com imagens públicas ou imagens personalizadas.
Para instalar drivers para a estação de trabalho virtual NVIDIA RTX, consulte Como instalar drivers para estações de trabalho virtuais NVIDIA RTX.
Antes de começar
- Para usar os exemplos de linha de comando deste guia, faça o seguinte:
- Instale ou atualize para a versão mais recente da Google Cloud CLI.
- Defina uma região e uma zona padrão.
- Para usar os exemplos da API deste guia, configure o acesso a ela.
Driver NVIDIA, kit de ferramentas CUDA e versões do ambiente de execução CUDA
Há diferentes componentes da versão dos drivers e do ambiente de execução que podem ser necessários no seu ambiente. Eles incluem os seguintes componentes:
- Driver NVIDIA
- Kit de ferramentas CUDA
- Ambiente de execução CUDA
Ao instalar esses componentes, é possível configurar o ambiente de maneira que atenda às suas necessidades. Por exemplo, se você tiver uma versão anterior do Tensorflow que funcione melhor com uma versão anterior do kit de ferramentas CUDA, mas a GPU que você quer usar exigir uma versão posterior do driver NVIDIA, é possível instalar uma versão anterior de um kit de ferramentas CUDA e uma versão posterior do driver da NVIDIA.
No entanto, é preciso garantir que o driver NVIDIA e as versões do kit de ferramentas CUDA sejam compatíveis. Para o kit de ferramentas CUDA e a compatibilidade do driver NVIDIA, consulte a documentação da NVIDIA sobre a compatibilidade com CUDA.
Versões necessárias do driver da NVIDIA
Nas GPUs NVIDIA em execução no Compute Engine, as seguintes versões do driver precisam ser usadas:
Para GPUs A100:
- Linux: 450.80.02 ou posterior
- Windows: 452.77 ou mais recente
Para GPUs T4, P4, P100 e V100:
- Linux : 410.79 ou posterior
- Windows : 426.00 ou posterior
Para GPUs K80:
- Linux : 410.79 - 470.103.01
- Windows : 426.00 - 472.98
Para GPUs K80, a NVIDIA anunciou que a ramificação do driver R470 será a versão final do driver que receberá suporte a depuração. Para analisar essa atualização, consulte a Matriz de suporte de software da NVIDIA.
Como instalar drivers de GPU em VMs
Uma maneira de instalar o driver NVIDIA na maioria das VMs é instalar o Kit de ferramentas CUDA do NVIDIA.
Para instalar o kit de ferramentas da NVIDIA, conclua as seguintes etapas:
Selecione um kit de ferramentas CUDA compatível com o driver mínimo necessário.
Conecte-se à VM em que você quer instalar o driver.
Na VM, faça o download e instale o kit de ferramentas CUDA. Na tabela a seguir, você encontra o Guia de instalação de cada kit de ferramentas recomendado. Antes de instalar o kit de ferramentas, conclua as etapas de pré-instalação encontradas no Guia de instalação.
Tipo de GPU Versão mínima recomendada do kit de ferramentas CUDA Instruções para instalação - NVIDIA A100
- Linux: kit de ferramentas CUDA 11.1
- Windows: kit de ferramentas CUDA 11.2
- Linux: guia de instalação do CUDA 11.1 (em inglês)
- Windows: guia de instalação do CUDA 11.2
- NVIDIA T4
- NVIDIA V100
- NVIDIA P100
- NVIDIA P4
- NVIDIA K80
- Linux: guia de instalação do CUDA 10.1
- Windows: guia de instalação do CUDA 10.1
Scripts de instalação
Use os scripts a seguir para automatizar o processo de instalação. Para analisar esses scripts, consulte o repositório do GitHub (em inglês).
Linux
Sistemas operacionais compatíveis
O script de instalação do Linux foi testado nos seguintes sistemas operacionais:
- CentOS 7 e 8
- Debian 10 e 11
- Red Hat Enterprise Linux (RHEL) 7 e 8
- Rocky Linux 8
- Ubuntu 18, 20 e 21
Se você usar esse script em outros sistemas operacionais, a instalação falhará.
Verifique se o Python 3 está instalado no seu sistema operacional.
Faça o download do script de instalação.
curl https://raw.githubusercontent.com/GoogleCloudPlatform/compute-gpu-installation/main/linux/install_gpu_driver.py --output install_gpu_driver.py
Execute o script de instalação.
sudo python3 install_gpu_driver.py
O script leva algum tempo para ser executado. Isso pode reiniciar sua VM. Se a VM for reiniciada, execute o script novamente para continuar a instalação.
Verifique a instalação. Consulte Como verificar a instalação do driver da GPU.
Windows
Esse script de instalação pode ser usado em VMs com inicialização segura ativada.
Abra um terminal do PowerShell como administrador e conclua as seguintes etapas:
Faça o download do script.
Invoke-WebRequest https://github.com/GoogleCloudPlatform/compute-gpu-installation/raw/main/windows/install_gpu_driver.ps1 -OutFile C:\install_gpu_driver.ps1
Execute o script.
C:\install_gpu_driver.ps1
O script leva algum tempo para ser executado. Nenhum prompt de comando é fornecido durante o processo de instalação. Depois que o script é encerrado, o driver é instalado.
Esse script instala os drivers neste local padrão da VM: "C:\Arquivos de Programas\NVIDIA Corporation".
Verifique a instalação. Consulte Como verificar a instalação do driver da GPU.
Como instalar drivers de GPU em VMs que usam a inicialização segura
As VMs com Inicialização segura ativada exigem que todos os módulos do kernel sejam assinados pela chave confiável pelo sistema.
Suporte a SO
- Para instalação de drivers NVIDIA no Windows que usa a Inicialização segura, consulte a seção geral Como instalar drivers de GPU em VMs.
Para sistemas operacionais Linux, o suporte está disponível apenas para os sistemas Ubuntu 18.04 e 20.04. O suporte para mais sistemas operacionais está em andamento.
Ubuntu 18.04 e 20.04
Conecte-se à VM em que você quer instalar o driver.
Atualize o repositório.
sudo apt-get update
Procure o pacote de módulo do kernel da NVIDIA mais recente ou a versão escolhida. Esse pacote contém módulos de kernel da NVIDIA assinados pela chave do Ubuntu. Para ver os pacotes mais recentes, execute o seguinte comando:
NVIDIA_DRIVER_VERSION=$(sudo apt-cache search 'linux-modules-nvidia-[0-9]+-gcp$' | awk '{print $1}' | sort | tail -n 1 | head -n 1 | awk -F"-" '{print $4}')
Por exemplo, especifique o número como
2
para ver a próxima versão anterior:NVIDIA_DRIVER_VERSION=$(sudo apt-cache search 'linux-modules-nvidia-[0-9]+-gcp$' | awk '{print $1}' | sort | tail -n 2 | head -n 1 | awk -F"-" '{print $4}')
Para verificar a versão do driver escolhido, execute
echo $NVIDIA_DRIVER_VERSION
. A saída é uma string de versão como455
.Instale o pacote do módulo do kernel e o driver da NVIDIA correspondente:
sudo apt install linux-modules-nvidia-${NVIDIA_DRIVER_VERSION}-gcp nvidia-driver-${NVIDIA_DRIVER_VERSION}
Se o comando falhar e retornar o erro "pacote não encontrado", o driver nvidia mais recente pode estar ausente do repositório. Retorne à última etapa para encontrar uma versão anterior do driver.
Verifique se o driver NVIDIA está instalado. Talvez seja necessário reinicializar a VM.
Configure o APT para usar o repositório do pacote da NVIDIA.
Para ajudar o APT a escolher a dependência correta, fixe os repositórios da seguinte maneira:
sudo tee /etc/apt/preferences.d/cuda-repository-pin-600 > /dev/null <<EOL Package: nsight-compute Pin: origin *ubuntu.com* Pin-Priority: -1
Package: nsight-systems Pin: origin *ubuntu.com* Pin-Priority: -1
Package: nvidia-modprobe Pin: release l=NVIDIA CUDA Pin-Priority: 600
Package: nvidia-settings Pin: release l=NVIDIA CUDA Pin-Priority: 600
Package: * Pin: release l=NVIDIA CUDA Pin-Priority: 100 EOLInstale
software-properties-common
. Isso é necessário se você estiver usando imagens mínimas do Ubuntu.sudo apt install software-properties-common
Adicione o repositório da NVIDIA:
Ubuntu 18.04
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
Ubuntu 20.04
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/7fa2af80.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
Encontre a versão do driver CUDA compatível.
O script a seguir determina a versão mais recente do driver CUDA compatível com o driver da NVIDIA que acabamos de instalar:
CUDA_DRIVER_VERSION=$(apt-cache madison cuda-drivers | awk '{print $3}' | sort -r | while read line; do if dpkg --compare-versions $(dpkg-query -f='${Version}\n' -W nvidia-driver-${NVIDIA_DRIVER_VERSION}) ge $line ; then echo "$line" break fi done)
Para verificar a versão do driver CUDA, execute
echo $CUDA_DRIVER_VERSION
. A saída é uma string de versão como455.32.00-1
.Instale os drivers CUDA com a versão identificada na etapa anterior.
sudo apt install cuda-drivers-${NVIDIA_DRIVER_VERSION}=${CUDA_DRIVER_VERSION} cuda-drivers=${CUDA_DRIVER_VERSION}
Opcional: mantenha pressionado pacotes
dkms
.Depois que a Inicialização segura for ativada, todos os módulos do kernel precisam ser assinados para que sejam carregados. Os módulos de kernel criados por
dkms
não funcionam na VM porque, por padrão, não são assinados corretamente. Essa etapa é opcional, mas pode ajudar a impedir a instalação acidental de outros pacotesdkms
futuramente.Para manter os pacotes
dkms
, execute o seguinte comando:sudo apt-get remove dkms && sudo apt-mark hold dkms
Instale o kit de ferramentas e o ambiente de execução do CUDA.
Escolha a versão apropriada do CUDA. O script a seguir determina a versão do CUDA mais recente, compatível com o driver CUDA que acabamos de instalar:
CUDA_VERSION=$(apt-cache showpkg cuda-drivers | grep -o 'cuda-runtime-[0-9][0-9]-[0-9],cuda-drivers [0-9\.]*' | while read line; do if dpkg --compare-versions ${CUDA_DRIVER_VERSION} ge $(echo $line | grep -Eo '[[:digit:]]+\.[[:digit:]]+') ; then echo $(echo $line | grep -Eo '[[:digit:]]+-[[:digit:]]') break fi done)
Para verificar a versão do CUDA, execute
echo $CUDA_VERSION
. A saída é uma string de versão como11-1
.Instale o pacote CUDA:
sudo apt install cuda-${CUDA_VERSION}
Verifique a instalação do CUDA:
sudo nvidia-smi
/usr/local/cuda/bin/nvcc --version
Como verificar a instalação do driver da GPU
Depois de concluir as etapas de instalação do driver, verifique se o driver foi instalado e inicializado corretamente.
Linux
Conecte-se à instância do Linux e use o comando nvidia-smi
para verificar se o driver está funcionando corretamente.
sudo nvidia-smi
A resposta será semelhante a:
Mon Oct 11 12:51:37 2021 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 470.57.02 Driver Version: 470.57.02 CUDA Version: 11.4 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 NVIDIA A100-SXM... Off | 00000000:00:04.0 Off | 0 | | N/A 41C P0 50W / 400W | 0MiB / 40536MiB | 0% Default | | | | Disabled | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | No running processes found | +-----------------------------------------------------------------------------+
Se esse comando falhar, revise o seguinte:
Verifique se há alguma GPU anexada à VM.
Use o seguinte comando para verificar qualquer dispositivo NVIDIA PCI:
sudo lspci | grep -i "nvidia"
Verifique se a versão do kernel do driver e a do kernel da VM são as mesmas.
- Para verificar a versão do kernel da VM, execute
uname -r
. - Para verificar a versão do kernel do driver, execute
sudo apt-cache show linux-modules-nvidia-NVIDIA_DRIVER_VERSION-gcp
.
Se as versões não corresponderem, reinicialize a VM para a nova versão do kernel.
- Para verificar a versão do kernel da VM, execute
Windows Server
Conecte-se à instância do Windows Server e abra um terminal do PowerShell como administrador. Em seguida execute o comando abaixo para verificar se o driver está sendo executado corretamente.
&"C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe"
A resposta será semelhante a:
Mon Oct 11 12:13:10 2021 +-----------------------------------------------------------------------------+ | NVIDIA-SMI 462.31 Driver Version: 462.31 CUDA Version: 11.2 | |-------------------------------+----------------------+----------------------+ | GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |===============================+======================+======================| | 0 Tesla T4 WDDM | 00000000:00:04.0 Off | 0 | | N/A 50C P8 18W / 70W | 570MiB / 15360MiB | 2% Default | | | | N/A | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=============================================================================| | 0 N/A N/A 408 C+G Insufficient Permissions N/A | | 0 N/A N/A 3120 C+G ...w5n1h2txyewy\SearchUI.exe N/A | | 0 N/A N/A 4056 C+G Insufficient Permissions N/A | | 0 N/A N/A 4176 C+G ...y\ShellExperienceHost.exe N/A | | 0 N/A N/A 5276 C+G C:\Windows\explorer.exe N/A | | 0 N/A N/A 5540 C+G ...in7x64\steamwebhelper.exe N/A | | 0 N/A N/A 6296 C+G ...y\GalaxyClient Helper.exe N/A | +-----------------------------------------------------------------------------+
A seguir
- Consulte Como monitorar o desempenho da GPU para mais informações sobre esse assunto.
- Para lidar com a manutenção do host da GPU, consulte "Como manipular eventos de manutenção do host da GPU".
- Para otimizar o desempenho da GPU, consulte Como otimizar o desempenho da GPU.