Crear e iniciar una instancia de VM con GPUs NVIDIA

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

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

Las máquinas virtuales con GPUs forman parte de la familia de máquinas de la serie A "optimizadas para aceleradores", como A2 y A3. Para obtener más información, consulta Ver el tipo de máquina de una VM.

Esta página está dirigida a desarrolladores que pertenezcan a grupos de administradores de plataformas o de operadores de aplicaciones que creen máquinas virtuales en un entorno aislado de Google Distributed Cloud (GDC).

Antes de empezar

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 Linux.

Solicitar permisos y acceso

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

Para realizar operaciones con VMs mediante la consola de GDC o la CLI de gdcloud, pide al administrador de gestión de identidades y accesos de tu proyecto que te asigne los roles Administrador de VirtualMachine de proyecto y Lector de proyectos (project-viewer).

Crear VM

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

Instalar controladores de NVIDIA

En esta sección se explica cómo instalar controladores de NVIDIA en tu instancia de VM de GDC.

Instalar el paquete

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

En el caso de las versiones de imagen 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 máquina virtual mediante SSH y ejecuta el comando que corresponda a su sistema operativo:

Ubuntu:

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

Rocky Linux y RHEL:

    sudo dnf install nvidia-driver-cuda

Ejecutar DKMS

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

   sudo dkms autoinstall

Instalar el kit de herramientas de CUDA

El kit de herramientas NVIDIA CUDA está disponible en los repositorios de paquetes de GDC. Conéctate a la máquina virtual mediante SSH y, a continuación, ejecuta el comando que corresponda al SO de tu máquina virtual:

Ubuntu

    sudo apt install cuda-toolkit-12-8

Rocky Linux y RHEL

    sudo dnf install cuda-toolkit-12-8

Habilitar el arranque seguro y firmar controladores

Si necesitas habilitar el arranque seguro en tu máquina virtual con GPUs, debes firmar los controladores de la GPU. Consulta las instrucciones correspondientes a tu sistema operativo.

Ubuntu

  1. Conéctate a la máquina virtual mediante SSH.
  2. Cambia a superusuario:

    sudo su
    
  3. Genera una clave 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. Registra la llave con mokutil:

    mokutil --import /var/lib/shim-signed/mok/MOK.der
    
  5. Cuando se te solicite, crea e introduce una nueva contraseña.

  6. Firma los módulos del kernel de NVIDIA con 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 máquina virtual mediante SSH.
  2. Cambia a superusuario:

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

    sudo dkms autoinstall
    
  4. Registra la clave DKMS en MOK:

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

Finalizar el registro y la verificación de MOK

Para acceder a la pantalla de gestión de MOK, reinicia la instancia de VM y conéctate inmediatamente al puerto serie. La pantalla depende del tiempo y solo aparece brevemente durante el proceso de arranque. En concreto, siga 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 Conectarse a un puerto serie.

  3. Registra la MOK desde la consola:

    Pantalla de gestión de MOK de la consola serie de la VM

    Pantalla de gestión de MOK de la consola en serie de una VM con la opción "Registrar MOK" resaltada

    Puedes ver la clave para asegurarte de que coincide con la que se ha generado en un paso anterior:

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

  4. Introduce la contraseña que has seleccionado antes:

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

  5. Selecciona Reiniciar en el menú de gestión de MOK:

    Pantalla de gestión de MOK de la consola serie de la VM con la opción "Reiniciar" seleccionada

  6. Verifica que el controlador de NVIDIA funciona ejecutando 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                                                             |
    +-----------------------------------------------------------------------------------------+