Instale drivers de GPU


Depois de criar uma instância de máquina virtual (VM) com uma ou mais GPUs, seu sistema exigirá drivers de dispositivo NVIDIA para que seus aplicativos possam acessar o dispositivo. Certifique-se de que suas instâncias de máquina virtual (VM) tenham espaço livre em disco suficiente. Você deve escolher pelo menos 40 GB para o disco de inicialização ao criar a nova VM.

Para instalar os drivers, você tem duas opções para escolher:

  • Se você precisar de GPUs para gráficos 3D acelerados por hardware, como desktop remoto ou jogos, consulte Instalar drivers para estações de trabalho virtuais NVIDIA RTX (vWS) .

  • Para outras cargas de trabalho, siga as instruções neste documento para instalar o driver NVIDIA.

Driver NVIDIA, kit de ferramentas CUDA e versões de tempo de execução CUDA

Existem diferentes componentes com versões de drivers e tempo de execução que podem ser necessários em seu ambiente. Isso inclui os seguintes componentes:

  • Controlador NVIDIA
  • Kit de ferramentas CUDA
  • Tempo de execução CUDA

Ao instalar esses componentes, você poderá configurar seu ambiente para atender às suas necessidades. Por exemplo, se você tiver uma versão anterior do Tensorflow que funciona melhor com uma versão anterior do kit de ferramentas CUDA, mas a GPU que você deseja usar requer uma versão posterior do driver NVIDIA, você poderá instalar uma versão anterior de um kit de ferramentas CUDA junto com uma versão posterior do driver NVIDIA.

No entanto, você deve certificar-se de que as versões do driver NVIDIA e do kit de ferramentas CUDA sejam compatíveis. Para obter compatibilidade com o kit de ferramentas CUDA e driver NVIDIA, consulte a documentação da NVIDIA sobre compatibilidade com CUDA .

Versões necessárias do driver NVIDIA

Para GPUs NVIDIA executadas no Compute Engine, são recomendadas as seguintes versões de driver NVIDIA .

Série de máquinas Modelo de GPU NVIDIA Driver recomendado para Linux Driver recomendado do Windows
A4 B200 570.124.06 N / D
A3 H200, H100 550.90.07 N / D
G2 L4 550.90.07 538,67
A2 A100 550.90.07 538,67
N1 T4, P4, P100 e V100 535.183.01 538,67

Instale drivers de GPU em VMs usando os guias da NVIDIA

Uma maneira de instalar o driver NVIDIA na maioria das VMs é instalar o NVIDIA CUDA Toolkit .

Para instalar o kit de ferramentas NVIDIA, execute as seguintes etapas:

  1. Selecione um kit de ferramentas CUDA que suporte o driver mínimo necessário.

  2. Conecte-se à VM onde deseja instalar o driver.

  3. Na sua VM, baixe e instale o kit de ferramentas CUDA. O pacote de instalação e o guia do kit de ferramentas mínimo recomendado são encontrados na tabela a seguir. Antes de instalar o kit de ferramentas, certifique-se de concluir as etapas de pré-instalação encontradas no guia de instalação.

    Série de máquinas Modelo de GPU NVIDIA Kit de ferramentas CUDA recomendado para Linux Kit de ferramentas CUDA recomendado pelo Windows
    A4 B200 N / D
    A3 H200, H100 N / D
    G2 L4
    A2 A100
    N1
    • T4
    • V100
    • P100
    • P4

Instale drivers de GPU em VMs usando o script de instalação

Você pode usar os scripts a seguir para automatizar o processo de instalação. Para revisar esses scripts, consulte o repositório GitHub .

Linux

Use estas instruções para instalar drivers de GPU em uma VM em execução.

Sistemas operacionais suportados

O script de instalação do Linux foi testado nos seguintes sistemas operacionais:

  • Debian 11 e 12
  • Red Hat Enterprise Linux (RHEL) 8 e 9
  • Rocky Linux 8 e 9
  • Ubuntu 20, 22 e 24

Se você usar esse script em outros sistemas operacionais, a instalação poderá falhar. Este script pode instalar o driver NVIDIA, bem como o CUDA Toolkit . Para instalar os drivers GPU e o CUDA Toolkit, conclua as seguintes etapas:

  1. Se você tiver a versão 2.38.0 ou posterior do Ops Agent coletando métricas de GPU em sua VM, deverá interromper o agente antes de instalar ou atualizar seus drivers de GPU usando este script de instalação.

    Depois de concluir a instalação ou atualização do driver da GPU, você deverá reinicializar a VM.

    Para interromper o agente de operações, execute o seguinte comando:

    sudo systemctl stop google-cloud-ops-agent
  2. Certifique-se de que o Python 3 esteja instalado em seu sistema operacional.

  3. Baixe o script de instalação.

    curl -L https://storage.googleapis.com/compute-gpu-installation-us/installer/latest/cuda_installer.pyz --output cuda_installer.pyz
  4. Execute o script de instalação.

    sudo python3 cuda_installer.pyz install_driver

    O script leva algum tempo para ser executado. Isso reiniciará sua VM. Se a VM for reiniciada, execute o script novamente para continuar a instalação.

  5. Verifique a instalação. Consulte Verifique a instalação do driver da GPU .

  6. Você também pode usar esta ferramenta para instalar o CUDA Toolkit. Para instalar o CUDA Toolkit, execute o seguinte comando:

    sudo python3 cuda_installer.pyz install_cuda

    Este script pode levar pelo menos 30 minutos para ser executado. Isso reiniciará sua VM. Se a VM for reiniciada, execute o script novamente para continuar a instalação.

  7. Verifique a instalação do kit de ferramentas CUDA.

    sudo python3 cuda_installer.pyz verify_cuda

Linux (script de inicialização)

Use estas instruções para instalar drivers de GPU durante a inicialização de uma VM.

Sistemas operacionais suportados

O script de instalação do Linux foi testado nos seguintes sistemas operacionais:

  • Debian 11 e 12
  • Red Hat Enterprise Linux (RHEL) 8 e 9
  • Rocky Linux 8 e 9
  • Ubuntu 20, 22 e 24

Se você usar esse script em outros sistemas operacionais, a instalação poderá falhar. Este script pode instalar o driver NVIDIA, bem como o CUDA Toolkit .

Use o seguinte script de inicialização para automatizar a instalação do driver e do CUDA Toolkit:

#!/bin/bash
if test -f /opt/google/cuda-installer
then
  exit
fi

mkdir -p /opt/google/cuda-installer
cd /opt/google/cuda-installer/ || exit

curl -fSsL -O https://storage.googleapis.com/compute-gpu-installation-us/installer/latest/cuda_installer.pyz
python3 cuda_installer.pyz install_cuda

Windows

Este script de instalação pode ser usado em VMs com inicialização segura habilitada.

  • Para VMs do Windows que usam máquinas da série G2, esse script instala apenas o driver NVIDIA.
  • Para outros tipos de máquinas, o script instala o driver NVIDIA e o kit de ferramentas CUDA.

Abra um terminal PowerShell como administrador e execute as seguintes etapas:

  1. Se você estiver usando o Windows Server 2016, defina a versão Transport Layer Security (TLS) como 1.2.

    [Net.ServicePointManager]::SecurityProtocol = 'Tls12'
    
  2. Baixe o roteiro.

    Invoke-WebRequest https://github.com/GoogleCloudPlatform/compute-gpu-installation/raw/main/windows/install_gpu_driver.ps1 -OutFile C:\install_gpu_driver.ps1
  3. 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. Assim que o script for encerrado, o driver será instalado.

    Este script instala os drivers no seguinte local padrão em sua VM: C:\Program Files\NVIDIA Corporation\ .

  4. Verifique a instalação. Consulte Verifique a instalação do driver da GPU .

Instale drivers de GPU (VMs de inicialização segura)

Estas instruções são para instalar drivers de GPU em VMs Linux que usam inicialização segura .

Se você estiver usando uma VM do Windows ou uma VM do Linux que não usa inicialização segura, revise uma das seguintes instruções:

A instalação do driver em uma VM de inicialização segura é diferente para VMs Linux, porque essas VMs exigem que todos os módulos do kernel sejam assinados pela chave confiável do sistema.

Estas instruções estão disponíveis apenas para VMs Linux de inicialização segura executadas nos sistemas operacionais Ubuntu 18.04, 20.04 e 22.04. O suporte para mais sistemas operacionais Linux está em andamento.

Para instalar drivers de GPU em suas VMs Ubuntu que usam inicialização segura, conclua as seguintes etapas:

  1. Conecte-se à VM onde deseja instalar o driver.

  2. Atualize o repositório.

      sudo apt-get update
    
  3. Procure o pacote de módulo do kernel NVIDIA mais recente ou a versão desejada. Este pacote contém módulos do kernel NVIDIA assinados pela chave do Ubuntu. Se você quiser encontrar uma versão anterior, altere o número do parâmetro tail para obter uma versão anterior. Por exemplo, especifique tail -n 2 .

    Ubuntu PRO e LTS

    Para Ubuntu PRO e LTS, 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}')
    

    Ubuntu PROFIPS

    Para Ubuntu PRO FIPS, execute os seguintes comandos:

    1. Habilite as atualizações do Ubuntu FIPS.

      sudo ua enable fips-updates
      
    2. Desligar e reiniciar

      sudo shutdown -r now
      
    3. Obtenha o pacote mais recente.

      NVIDIA_DRIVER_VERSION=$(sudo apt-cache search 'linux-modules-nvidia-[0-9]+-gcp-fips$' | awk '{print $1}' | sort | tail -n 1 | head -n 1 | awk -F"-" '{print $4}')
      

    Você pode verificar a versão do driver escolhido executando echo $NVIDIA_DRIVER_VERSION . A saída é uma string de versão como 455 .

  4. Instale o pacote do módulo do kernel e o driver NVIDIA correspondente.

      sudo apt install linux-modules-nvidia-${NVIDIA_DRIVER_VERSION}-gcp nvidia-driver-${NVIDIA_DRIVER_VERSION}
    

    Se o comando falhou com o package not found error , o driver NVIDIA mais recente pode estar faltando no repositório. Tente novamente a etapa anterior e selecione uma versão anterior do driver alterando o número final.

  5. Verifique se o driver NVIDIA está instalado. Talvez seja necessário reinicializar a VM.

  6. Se você reiniciou o sistema para verificar a versão NVIDIA. Após a reinicialização, você precisa redefinir a variável NVIDIA_DRIVER_VERSION executando novamente o comando usado na etapa 3.

  7. Configure o APT para usar o repositório de pacotes NVIDIA.

    1. Para ajudar o APT a escolher a dependência correta, fixe os repositórios da seguinte forma:

      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 EOL

    2. Instale software-properties-common . Isso é necessário se você estiver usando imagens mínimas do Ubuntu.

       sudo apt install software-properties-common
       

    3. Defina a versão do Ubuntu.

      Ubuntu 18.04

      Para Ubuntu 18.04, execute o seguinte comando:

      export UBUNTU_VERSION=ubuntu1804/x86_64

      Ubuntu 20.04

      Para Ubuntu 20.04, execute o seguinte comando:

      export UBUNTU_VERSION=ubuntu2004/x86_64

      Ubuntu 22.04

      Para Ubuntu 22.04, execute o seguinte comando:

      export UBUNTU_VERSION=ubuntu2204/x86_64
    4. Baixe o pacote cuda-keyring .

      wget https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/cuda-keyring_1.0-1_all.deb
    5. Instale o pacote cuda-keyring .

      sudo dpkg -i cuda-keyring_1.0-1_all.deb
    6. Adicione o repositório NVIDIA.

      sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/$UBUNTU_VERSION/ /"

      Se solicitado, selecione a ação padrão para manter sua versão atual.

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

    Você pode verificar a versão do driver CUDA executando echo $CUDA_DRIVER_VERSION . A saída é uma string de versão como 455.32.00-1 .

  9. 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}
    

  10. Opcional: retenha pacotes dkms .

    Depois de ativar o Secure Boot, todos os módulos do kernel devem ser assinados para serem carregados. Os módulos do kernel criados pelo dkms não funcionam na VM porque não são assinados corretamente por padrão. Esta é uma etapa opcional, mas pode ajudar a evitar a instalação acidental de outros pacotes dkms no futuro.

    Para armazenar pacotes dkms , execute o seguinte comando:

      sudo apt-get remove dkms && sudo apt-mark hold dkms
    
  11. Instale o kit de ferramentas CUDA e o tempo de execução.

    Escolha a versão CUDA adequada. O script a seguir determina a versão mais recente do CUDA 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)
    

    Você pode verificar a versão CUDA executando echo $CUDA_VERSION . A saída é uma string de versão como 11-1 .

  12. Instale o pacote CUDA.

      sudo apt install cuda-${CUDA_VERSION}
    
  13. Verifique a instalação do CUDA.

      sudo nvidia-smi
      /usr/local/cuda/bin/nvcc --version
    

    O primeiro comando imprime as informações da GPU. O segundo comando imprime a versão instalada do compilador CUDA.

Verifique a instalação do driver GPU

Após 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 saída é semelhante à seguinte:

Tue Mar 21 19:50:15 2023
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.90.07              Driver Version: 550.90.07      CUDA Version: 12.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  Tesla T4                       On  |   00000000:00:04.0 Off |                    0 |
| N/A   50C    P8             16W /   70W |       1MiB /  15360MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| 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 as GPUs estão anexadas à VM. Para verificar qualquer dispositivo NVIDIA PCI, execute o seguinte comando:

    sudo lspci | grep -i "nvidia"
  • Verifique se a versão do kernel do driver e a versão do kernel da VM são iguais.

    • Para verificar a versão do kernel da VM, execute o seguinte comando:

      uname -r
    • Para verificar a versão do kernel do driver, execute o seguinte comando:

      sudo apt-cache show linux-modules-nvidia-NVIDIA_DRIVER_VERSION-gcp

      Se as versões não corresponderem, reinicie a VM para a nova versão do kernel.

Servidor Windows

Conecte-se à instância do Windows Server , abra um terminal do PowerShell e execute o seguinte comando para verificar se o driver está funcionando corretamente.

nvidia-smi

A saída é semelhante à seguinte:

+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 538.67                 Driver Version: 538.67       CUDA Version: 12.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  NVIDIA L4                    WDDM  | 00000000:00:03.0 Off |                    0 |
| N/A   66C    P8              17W /  72W |    128MiB / 23034MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+

+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      4888    C+G   ...CBS_cw5n1h2txyewy\TextInputHost.exe    N/A      |
|    0   N/A  N/A      5180    C+G   ....Search_cw5n1h2txyewy\SearchApp.exe    N/A      |
+---------------------------------------------------------------------------------------+

O que vem a seguir?