Crie e inicie uma instância de VM com GPUs NVIDIA

Este documento explica como criar uma instância de máquina virtual (MV) baseada em Linux com unidades de processamento gráfico (GPUs) NVIDIA. Para realizar passos semelhantes numa instância de VM do Windows, consulte o artigo Instale controladores de GPU NVIDIA numa VM do Windows.

Uma máquina virtual com GPUs permite-lhe executar várias cargas de trabalho aceleradas por GPU, por exemplo, inteligência artificial e aprendizagem automática.

As máquinas virtuais com GPUs fazem parte da família de máquinas da série A "otimizada para aceleradores", por exemplo, A2 e A3. Para mais informações, consulte o artigo Veja o tipo de máquina de VM.

Este documento destina-se a programadores em grupos de administradores da plataforma ou operadores de aplicações que criam VMs num ambiente isolado do Google Distributed Cloud (GDC). Para mais informações, consulte o artigo Públicos-alvo para a documentação isolada do GDC.

Antes de começar

Prepare o ambiente

Para usar os comandos da interface de linhas de comando (CLI) gdcloud, certifique-se de que transferiu, instalou e configurou a CLI gdcloud. Todos os comandos para o Distributed Cloud usam a CLI gdcloud ou kubectl e requerem um ambiente Linux.

Peça funções de IAM

Contacte o administrador da IAM do projeto para pedir as seguintes funções no seu projeto:

  • Administrador do projeto da máquina virtual (project-vm-admin): criar, modificar, listar e eliminar VMs no espaço de nomes do projeto.

  • Leitor de projetos(project-viewer): ver todos os recursos no espaço de nomes do projeto.

Todas as funções de VMs têm de ser associadas ao espaço de nomes do projeto onde a VM reside. Siga os passos para validar o seu acesso.

Crie uma VM

Crie uma VM seguindo os passos descritos no artigo Crie uma VM a partir de uma imagem e selecione um tipo de máquina da série A.

Instale os controladores da NVIDIA

Esta secção fornece passos para instalar controladores NVIDIA na sua instância de VM do GDC.

Instale o pacote

A partir da versão v20250809 e posteriores, as imagens do Ubuntu e do Rocky Linux fornecidas pelo GDC têm os controladores da NVIDIA pré-instalados.

Para versões de imagens anteriores à v20250809 e imagens personalizadas fornecidas pelo utilizador, instale o controlador a partir do repositório de pacotes GDC. Estabeleça ligação à VM através do SSH e execute o comando correspondente ao sistema operativo (SO) da VM:

Ubuntu

 sudo apt install nvidia-dkms-570-server-open

Rocky Linux e RHEL

 sudo dnf install nvidia-driver-cuda

Execute o DKMS

Ative o controlador da NVIDIA na VM com o comando dkms. Só tem de realizar esta tarefa uma vez por MV:

   sudo dkms autoinstall

Instale o conjunto de ferramentas CUDA

O kit de ferramentas NVIDIA CUDA está disponível nos repositórios de pacotes do GDC. Estabeleça ligação à VM através do SSH e, em seguida, execute o comando que corresponde ao SO da sua VM:

Ubuntu

 sudo apt install cuda-toolkit-12-8

Rocky Linux e RHEL

 sudo dnf install cuda-toolkit-12-8

Ative o arranque seguro e assine controladores

Se precisar de ativar o arranque seguro na sua VM com GPUs, tem de assinar os controladores da GPU. Consulte as instruções para o seu SO correspondente.

Ubuntu

  1. Estabeleça ligação à VM através do SSH.
  2. Mude para superutilizador:

    sudo su
    
  3. Gere uma chave MOK se ainda não existir:

    [ -f /var/lib/shim-signed/mok/MOK.der ] || openssl req -new -x509 -newkey rsa:2048 -keyout /var/lib/shim-signed/mok/MOK.priv \
        -outform DER -out /var/lib/shim-signed/mok/MOK.der \
        -nodes -days 36500 -subj "/CN=DKMS Signing Key/"
    
  4. Inscreva a chave através do mokutil:

    mokutil --import /var/lib/shim-signed/mok/MOK.der
    
  5. Quando lhe for pedido, crie e introduza uma nova palavra-passe à sua escolha.

  6. Assine os módulos do kernel da NVIDIA com a MOK:

    for module in nvidia nvidia_drm nvidia_modeset nvidia_uvm nvidia_peermem; do
        /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 /var/lib/shim-signed/mok/MOK.priv /var/lib/shim-signed/mok/MOK.der $(modinfo -n $module)
    done
    

Rocky Linux e RHEL

  1. Estabeleça ligação à VM através do SSH.
  2. Mude para superutilizador:

    sudo su
    
  3. Assine o controlador com a chave através do comando dkms autoinstall:

    sudo dkms autoinstall
    
  4. Inscreva a chave DKMS no MOK:

    mokutil --import /var/lib/dkms/mok.pub
    

Finalize a inscrição e a validação da MOK

Para aceder ao ecrã de gestão de MOK, certifique-se de que reinicia a instância de VM e estabelece ligação imediata à porta série. O ecrã é sensível ao tempo e aparece apenas brevemente durante o processo de arranque. Em concreto, siga estes passos:

  1. Reinicie a instância de VM:

    reboot
    
  2. Estabeleça ligação à consola série da VM. Para mais informações, consulte o artigo Ligue-se a uma porta de série.

  3. Inscreva a MOK a partir da consola:

    Ecrã de gestão de MOK da consola de série da VM

    Ecrã de gestão de MOK da consola série da VM com "Inscrever MOK" realçado

    Pode ver a chave para se certificar de que corresponde à gerada num passo anterior:

    Ecrã de gestão de MOK da consola série da VM com a opção "Continuar" selecionada

  4. Introduza a palavra-passe que selecionou anteriormente:

    Ecrã de gestão de MOK da consola de série da VM a pedir uma palavra-passe

  5. Selecione Reboot no menu de gestão do MOK:

    Ecrã de gestão de MOK da consola série da VM com a opção "Reboot" selecionada

  6. Verifique se o controlador da NVIDIA funciona executando nvidia-smi.

    O resultado apresenta o estado da GPU e as informações do controlador:

    $ nvidia-smi
    Wed Aug 13 00:09:17 2025
    +-----------------------------------------------------------------------------------------+
    | NVIDIA-SMI 570.158.01             Driver Version: 570.158.01     CUDA Version: 12.8     |
    |-----------------------------------------+------------------------+----------------------+
    | 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 H200                    Off |   00000000:08:00.0 Off |                    0 |
    | N/A   42C    P0            128W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   1  NVIDIA H200                    Off |   00000000:09:00.0 Off |                    0 |
    | N/A   36C    P0            127W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   2  NVIDIA H200                    Off |   00000000:0A:00.0 Off |                    0 |
    | N/A   34C    P0            122W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   3  NVIDIA H200                    Off |   00000000:0B:00.0 Off |                    0 |
    | N/A   40C    P0            128W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   4  NVIDIA H200                    Off |   00000000:0C:00.0 Off |                    0 |
    | N/A   39C    P0            125W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   5  NVIDIA H200                    Off |   00000000:0D:00.0 Off |                    0 |
    | N/A   35C    P0            122W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   6  NVIDIA H200                    Off |   00000000:0E:00.0 Off |                    0 |
    | N/A   39C    P0            128W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    |   7  NVIDIA H200                    Off |   00000000:0F:00.0 Off |                    0 |
    | N/A   35C    P0            121W /  700W |       0MiB / 143771MiB |      0%      Default |
    |                                         |                        |             Disabled |
    +-----------------------------------------+------------------------+----------------------+
    
    +-----------------------------------------------------------------------------------------+
    | Processes:                                                                              |
    |  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
    |        ID   ID                                                               Usage      |
    |=========================================================================================|
    |  No running processes found                                                             |
    +-----------------------------------------------------------------------------------------+
    

O que se segue?