Créer et démarrer une instance de VM avec des GPU NVIDIA

Cette page explique comment créer une instance de machine virtuelle (VM) basée sur Linux avec des processeurs graphiques (GPU) NVIDIA.

Une machine virtuelle avec GPU vous permet d'exécuter diverses charges de travail accélérées par GPU, par exemple l'intelligence artificielle et le machine learning.

Les machines virtuelles avec GPU font partie de la famille de machines de la série A "optimisée pour les accélérateurs", par exemple A2 et A3. Pour en savoir plus, consultez Afficher le type de machine d'une VM.

Cette page s'adresse aux développeurs des groupes d'administrateurs de plate-forme ou d'opérateurs d'applications qui créent des VM dans un environnement Google Distributed Cloud (GDC) isolé.

Avant de commencer

Pour utiliser les commandes de l'interface de ligne de commande (CLI) gdcloud, assurez-vous d'avoir téléchargé, installé et configuré la CLI gdcloud. Toutes les commandes pour Distributed Cloud utilisent la CLI gdcloud ou kubectl, et nécessitent un environnement Linux.

Demander des autorisations et un accès

Pour effectuer les tâches listées sur cette page, vous devez disposer du rôle Administrateur VirtualMachine du projet. Suivez les étapes pour vérifier que vous disposez du rôle Administrateur VirtualMachine du projet (project-vm-admin) dans l'espace de noms du projet dans lequel réside la VM.

Pour les opérations sur les VM à l'aide de la console GDC ou de la CLI gdcloud, demandez à l'administrateur IAM de votre projet de vous accorder les rôles Administrateur VirtualMachine du projet et Lecteur du projet (project-viewer).

Créer une VM

Créez une VM en suivant la procédure décrite dans Créer une VM à partir d'une image et sélectionnez un type de machine de la série A.

Installer les pilotes NVIDIA

Cette section explique comment installer les pilotes NVIDIA sur votre instance de VM GDC.

Installer le package

À partir de la version v20250809, les images Ubuntu et Rocky Linux fournies par GDC sont préinstallées avec les pilotes NVIDIA.

Pour les versions d'image antérieures à v20250809 et les images personnalisées fournies par l'utilisateur, installez le pilote à partir du dépôt de packages GDC. Connectez-vous à la VM à l'aide de SSH et exécutez la commande correspondant à l'OS de votre VM :

Ubuntu:

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

Rocky Linux et RHEL :

    sudo dnf install nvidia-driver-cuda

Exécuter DKMS

Activez le pilote NVIDIA sur votre VM avec la commande dkms. Vous n'avez besoin d'effectuer cette tâche qu'une seule fois par VM :

   sudo dkms autoinstall

Installer le CUDA toolkit

NVIDIA CUDA Toolkit est disponible dans les dépôts de packages GDC. Connectez-vous à la VM à l'aide de SSH, puis exécutez la commande correspondant à l'OS de votre VM :

Ubuntu

    sudo apt install cuda-toolkit-12-8

Rocky Linux et RHEL

    sudo dnf install cuda-toolkit-12-8

Activer le démarrage sécurisé et signer les pilotes

Si vous devez activer le démarrage sécurisé sur votre VM avec GPU, vous devez signer les pilotes de GPU. Consultez les instructions correspondant à votre système d'exploitation.

Ubuntu

  1. Connectez-vous à la VM à l'aide de SSH.
  2. Passez au superutilisateur :

    sudo su
    
  3. Générez une clé MOK si elle n'existe pas déjà :

    [ -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. Enregistrez la clé à l'aide de mokutil :

    mokutil --import /var/lib/shim-signed/mok/MOK.der
    
  5. Lorsque vous y êtes invité, créez et saisissez un nouveau mot de passe de votre choix.

  6. Signez les modules de noyau NVIDIA à l'aide du 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 et RHEL

  1. Connectez-vous à la VM à l'aide de SSH.
  2. Passez au superutilisateur :

    sudo su
    
  3. Signez le pilote avec la clé à l'aide de dkms autoinstall :

    sudo dkms autoinstall
    
  4. Enregistrez la clé DKMS dans MOK :

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

Finaliser l'inscription et la validation de MOK

Pour accéder à l'écran de gestion MOK, assurez-vous de redémarrer l'instance de VM et de vous connecter immédiatement au port série. Cet écran est temporaire et ne s'affiche que brièvement pendant le processus de démarrage. Plus précisément, procédez comme suit :

  1. Redémarrez l'instance de VM :

    reboot
    
  2. Connectez-vous à la console série de la VM. Pour en savoir plus, consultez Se connecter à un port série.

  3. Enregistrez la clé MOK depuis la console :

    Écran de gestion MOK de la console série de la VM

    Écran de gestion MOK de la console série de la VM avec l'option "Enroll MOK" (Enregistrer le MOK) mise en évidence

    Vous pouvez afficher la clé pour vous assurer qu'elle correspond à celle générée lors d'une étape précédente :

    Écran de gestion MOK de la console série de la VM avec l'option "Continuer" sélectionnée

  4. Saisissez le mot de passe que vous avez sélectionné précédemment :

    Écran de gestion MOK de la console série de la VM demandant un mot de passe

  5. Sélectionnez "Reboot" (Redémarrer) dans le menu de gestion MOK :

    Écran de gestion MOK de la console série de la VM avec l'option "Reboot" (Redémarrer) sélectionnée

  6. Vérifiez que le pilote NVIDIA fonctionne en exécutant nvidia-smi.

    Le résultat affiche l'état du GPU et les informations sur le pilote :

    $ 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                                                             |
    +-----------------------------------------------------------------------------------------+