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

Ce document explique comment créer une instance de machine virtuelle (VM) Linux avec des processeurs graphiques (GPU) NVIDIA. Pour effectuer des étapes similaires sur une instance de VM Windows, consultez Installer des pilotes de GPU NVIDIA sur une VM Windows.

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ées pour les accélérateurs", par exemple A2 et A3. Pour en savoir plus, consultez Afficher le type de machine d'une VM.

Ce document 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é. Pour en savoir plus, consultez Audiences pour la documentation GDC sous air gap.

Avant de commencer

Préparer l'environnement

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 rôles IAM

Contactez l'administrateur de projet IAM pour demander les rôles suivants sur votre projet :

  • Administrateur de projet de machine virtuelle (project-vm-admin) : créez, modifiez, listez et supprimez des VM dans l'espace de noms du projet.

  • project-viewer(Lecteur de projet) : permet d'afficher toutes les ressources de l'espace de noms du projet.

Tous les rôles de VM doivent être liés à l'espace de noms du projet dans lequel réside la VM. Suivez la procédure pour valider votre accès.

Créer une VM

Créez une VM en suivant la procédure décrite dans Créer une VM à partir d'une image, puis 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 via SSH et exécutez la commande correspondant au système d'exploitation (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 à l'aide de la commande dkms. Vous ne devez effectuer cette tâche qu'une seule fois par VM :

   sudo dkms autoinstall

Installer CUDA Toolkit

Le kit d'outils NVIDIA CUDA est disponible dans les dépôts de packages GDC. Connectez-vous à la VM via 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 des GPU, vous devez signer les pilotes de GPU. Reportez-vous aux instructions correspondant à votre OS.

Ubuntu

  1. Connectez-vous à la VM à l'aide de SSH.
  2. Passez en mode super-utilisateur :

    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 de la 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 en mode super-utilisateur :

    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'enregistrement et la validation de la clé MOK

Pour accéder à l'écran de gestion MOK, veillez à redémarrer l'instance de VM et à vous connecter immédiatement au port série. L'écran est sensible au temps et n'apparaît 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 MOK à partir de la console :

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

    Écran de gestion des MOK de la console série de la VM avec l'option "Enroll MOK" (Enregistrer la 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 "Continue" (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.

    La sortie 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                                                             |
    +-----------------------------------------------------------------------------------------+
    

Étapes suivantes