Crea y, luego, inicia una instancia de VM con GPUs de NVIDIA

En esta página, se describe cómo crear una instancia de máquina virtual (VM) basada en Linux con unidades de procesamiento de gráficos (GPU) de NVIDIA.

Una máquina virtual con GPUs te permite ejecutar varias cargas de trabajo aceleradas por GPU, por ejemplo, inteligencia artificial y aprendizaje automático.

Las máquinas virtuales con GPU forman parte de la familia de máquinas de la serie A "optimizadas para aceleradores", por ejemplo, A2 y A3. Para obtener más información, consulta Cómo ver el tipo de máquina de la VM.

Esta página está dirigida a los desarrolladores de grupos de administradores de plataformas o de operadores de aplicaciones que crean VMs en un entorno aislado de Google Distributed Cloud (GDC).

Antes de comenzar

Para usar los comandos de la interfaz de línea de comandos (CLI) de gdcloud, asegúrate de haber descargado, instalado y configurado la CLI de gdcloud. Todos los comandos de Distributed Cloud usan la CLI de gdcloud o kubectl, y requieren un entorno de Linux.

Solicita permisos y acceso

Para realizar las tareas que se indican en esta página, debes tener el rol de administrador de la máquina virtual del proyecto. Sigue los pasos para verificar que tienes el rol de administrador de máquinas virtuales del proyecto (project-vm-admin) en el espacio de nombres del proyecto en el que reside la VM.

Para las operaciones de VM con la consola de GDC o la CLI de gdcloud, pídele a tu administrador de IAM del proyecto que te otorgue los roles de administrador de máquinas virtuales del proyecto y visualizador del proyecto (project-viewer).

Crea una VM

Crea una VM siguiendo los pasos que se describen en Crea una VM a partir de una imagen y selecciona un tipo de máquina de la serie A.

Instala los controladores de NVIDIA

En esta sección, se proporcionan los pasos para instalar los controladores de NVIDIA en tu instancia de VM de GDC.

Instale el paquete

A partir de la versión v20250809 y posteriores, las imágenes de Ubuntu y Rocky Linux proporcionadas por GDC tienen controladores de NVIDIA preinstalados.

Para las versiones de imágenes anteriores a v20250809 y las imágenes personalizadas proporcionadas por el usuario, instala el controlador desde el repositorio de paquetes de GDC. Conéctate a la VM con SSH y ejecuta el comando que corresponde a tu sistema operativo (SO) de la VM:

Ubuntu:

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

Rocky Linux y RHEL:

    sudo dnf install nvidia-driver-cuda

Ejecuta DKMS

Habilita el controlador de NVIDIA en tu VM con el comando dkms. Solo debes realizar esta tarea una vez por VM:

   sudo dkms autoinstall

Instala el kit de herramientas de CUDA

El kit de herramientas de NVIDIA CUDA está disponible en los repositorios de paquetes de GDC. Conéctate a la VM con SSH y, luego, ejecuta el comando que corresponde al SO de tu VM:

Ubuntu

    sudo apt install cuda-toolkit-12-8

Rocky Linux y RHEL

    sudo dnf install cuda-toolkit-12-8

Habilita el inicio seguro y firma los controladores

Si necesitas habilitar el inicio seguro en tu VM con GPU, debes firmar los controladores de GPU. Consulta las instrucciones para tu SO correspondiente.

Ubuntu

  1. Conéctate a la VM mediante SSH.
  2. Cambia al superusuario:

    sudo su
    
  3. Genera una clave de MOK si aún no existe:

    [ -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. Inscribe la llave con mokutil:

    mokutil --import /var/lib/shim-signed/mok/MOK.der
    
  5. Cuando se te solicite, crea e ingresa una contraseña nueva de tu elección.

  6. Firma los módulos del kernel de NVIDIA con el 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 y RHEL

  1. Conéctate a la VM mediante SSH.
  2. Cambia al superusuario:

    sudo su
    
  3. Firma el controlador con la clave usando dkms autoinstall:

    sudo dkms autoinstall
    
  4. Inscribe la clave de DKMS en MOK:

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

Finaliza la inscripción y la verificación del MOK

Para acceder a la pantalla de administración de MOK, asegúrate de reiniciar la instancia de VM y conectarte de inmediato al puerto en serie. La pantalla es sensible al tiempo y solo aparece brevemente durante el proceso de inicio. En particular, sigue estos pasos:

  1. Reinicia la instancia de VM:

    reboot
    
  2. Conéctate a la consola en serie de la VM. Para obtener más información, consulta Conéctate a un puerto en serie.

  3. Inscribe la MOK desde la consola:

    Pantalla de administración de MOK de la consola en serie de la VM

    Pantalla de administración de MOK de la consola en serie de la VM con la opción "Enroll MOK" destacada

    Puedes ver la clave para asegurarte de que coincida con la que se generó en un paso anterior:

    Pantalla de administración de MOK de la consola en serie de la VM con la opción "Continuar" seleccionada

  4. Ingresa la contraseña que seleccionaste anteriormente:

    Pantalla de administración de MOK de la consola en serie de la VM que solicita una contraseña

  5. Selecciona Reboot en el menú de administración de MOK:

    Pantalla de administración de MOK de la consola en serie de la VM con la opción "Reboot" seleccionada

  6. Para verificar que el controlador NVIDIA funcione, ejecuta nvidia-smi.

    El resultado muestra el estado de la GPU y la información del 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                                                             |
    +-----------------------------------------------------------------------------------------+