Ajouter ou supprimer des GPU

Google Compute Engine fournit des GPU (processeurs graphiques), que vous pouvez ajouter à vos instances de machine virtuelle. Vous pouvez utiliser ces GPU pour accélérer des charges de travail spécifiques sur vos instances, telles que le machine learning et le traitement des données.

Pour plus d'informations sur ce que vous pouvez faire avec les GPU et sur les types de matériel GPU disponibles, consultez la page GPU dans Compute Engine.

Avant de commencer

Créer une instance avec un GPU

Avant de créer une instance avec un GPU, sélectionnez l'image de disque de démarrage que vous souhaitez utiliser pour l'instance et vérifiez que le pilote de processeur graphique approprié est installé.

Si vous utilisez des GPU pour le machine learning, vous pouvez utiliser une image de VM de deep learning pour votre instance. Les images de VM de deep learning ont des pilotes GPU pré-installés et incluent des packages tels que TensorFlow et PyTorch. Vous pouvez également utiliser les images de VM de deep learning pour les charges de travail générales des GPU. Pour plus d'informations sur les images disponibles et les packages installés sur les images, consultez la documentation consacrée aux VM de deep learning.

Vous pouvez également utiliser n'importe quelle image publique ou image personnalisée, mais certaines images peuvent nécessiter un pilote ou un processus d'installation spécifique non traité dans ce guide. Vous devez identifier les pilotes appropriés pour vos images.

Pour connaître les étapes d'installation des pilotes, consultez la section relative à l'installation des pilotes de GPU.

Lorsque vous créez une instance avec un ou plusieurs GPU, vous devez définir l'instance pour qu'elle se termine lors de la maintenance de l'hôte. Les instances comportant des GPU ne peuvent pas migrer à chaud, car elles sont affectées à des périphériques matériels spécifiques. Consultez les restrictions relatives aux GPU pour plus de détails.

Créez une instance avec un ou plusieurs GPU à l'aide de la console Google Cloud Platform, de l'outil de ligne de commande gcloud ou de l'API.

Console

  1. Accédez à la page "Instances de VM".

    Accéder à la page Instances de VM"

  2. Cliquez sur Créer une instance.
  3. Sélectionnez une zone où les GPU sont disponibles. Consultez la liste des zones où les GPU sont disponibles.
  4. Dans la section Configuration de la machine, sélectionnez le type de machine que vous souhaitez utiliser pour cette instance. Vous pouvez également spécifier des paramètres de type de machine personnalisés si vous le souhaitez.
  5. Dans la section Configuration de la machine, cliquez sur Plate-forme du processeur et GPU pour afficher les options avancées de type de machine et les GPU disponibles.
  6. Cliquez sur les GPU pour afficher la liste des GPU disponibles.
  7. Spécifiez le type de GPU et le nombre de GPU dont vous avez besoin.
  8. Si nécessaire, ajustez le type de machine en fonction des paramètres de GPU que vous désirez. Si vous laissez ces paramètres tels quels, l'instance utilise le type de machine prédéfini que vous avez spécifié avant d'ouvrir l'écran de personnalisation du type de machine.
  9. Pour configurer votre disque de démarrage, dans la section Disque de démarrage, cliquez sur Modifier.
  10. Dans l'onglet Images d'OS, choisissez une image.
  11. Cliquez sur Sélectionner pour confirmer vos options de disque de démarrage.
  12. Vous pouvez éventuellement inclure un script de démarrage pour installer le pilote de GPU pendant le démarrage de l'instance. Dans la section Automatisation, incluez le contenu de votre script de démarrage sous Script de démarrage. Consultez la section Installer des pilotes de GPU pour obtenir des exemples de scripts.
  13. Configurez tous les autres paramètres d'instance dont vous avez besoin. Par exemple, vous pouvez modifier les paramètres de préemption pour configurer votre instance en tant qu'instance préemptive. Cela réduit le coût de votre instance et des GPU utilisés. Pour plus d'informations, consultez la section GPU sur des instances préemptives.
  14. En bas de la page, cliquez sur Créer pour créer l'instance.

gcloud

Utilisez la commande regions describe pour vous assurer que vous disposez d'un quota de GPU suffisant dans la région où vous souhaitez créer des instances avec les GPU.

gcloud compute regions describe [REGION]

[REGION] est la région dans laquelle vous souhaitez vérifier le quota de GPU.

Démarrez une instance avec la dernière image d'une famille d'images :

gcloud compute instances create [INSTANCE_NAME] \
    --machine-type [MACHINE_TYPE] --zone [ZONE] \
    --accelerator type=[ACCELERATOR_TYPE],count=[ACCELERATOR_COUNT] \
    --image-family [IMAGE_FAMILY] --image-project [IMAGE_PROJECT] \
    --maintenance-policy TERMINATE --restart-on-failure \
    --metadata startup-script='[STARTUP_SCRIPT]' \
    [--preemptible]

où :

  • [INSTANCE_NAME] est le nom de la nouvelle instance.
  • [MACHINE_TYPE] est le type de machine que vous avez sélectionné pour l'instance. Consultez la section GPU sur Compute Engine pour connaître les types de machines disponibles en fonction du nombre de GPU souhaité.
  • [ZONE] est la zone de cette instance.
  • [IMAGE_FAMILY] est l'une des familles d'images disponibles.
  • [ACCELERATOR_COUNT] est le nombre de GPU que vous souhaitez ajouter à votre instance. Consultez la section GPU sur Compute Engine pour obtenir la liste des limites de GPU en fonction du type de machine de votre instance.
  • [ACCELERATOR_TYPE] est le modèle de GPU que vous souhaitez utiliser. Utilisez l'une des valeurs suivantes :

    • NVIDIA® Tesla® T4 : nvidia-tesla-t4
    • Poste de travail virtuel NVIDIA® Tesla® T4 avec NVIDIA® GRID® : nvidia-tesla-t4-vws
    • NVIDIA® Tesla® P4 : nvidia-tesla-p4
    • Poste de travail virtuel NVIDIA® Tesla® P4 avec NVIDIA® GRID® : nvidia-tesla-p4-vws
    • NVIDIA® Tesla® P100 : nvidia-tesla-p100
    • Poste de travail virtuel NVIDIA® Tesla® P100 avec NVIDIA® GRID® : nvidia-tesla-p100-vws
    • NVIDIA® Tesla® V100 : nvidia-tesla-v100
    • NVIDIA® Tesla® K80 : nvidia-tesla-k80

    Consultez la section GPU sur Compute Engine pour obtenir la liste des modèles de GPU disponibles.

  • [IMAGE_PROJECT] est le projet d'image auquel cette famille d'images appartient.

  • [STARTUP_SCRIPT] est un script de démarrage facultatif que vous pouvez utiliser pour installer le pilote de GPU pendant le démarrage de l'instance. Consultez la section Installer des pilotes de GPU pour obtenir des exemples.

  • --preemptible est un indicateur facultatif qui configure votre instance en tant qu'instance préemptive. Cela réduit le coût de votre instance et des GPU utilisés. Pour plus d'informations, consultez la section GPU sur des instances préemptives.

Par exemple, vous pouvez utiliser la commande gcloud suivante pour démarrer une instance Ubuntu 16.04 avec un GPU NVIDIA® Tesla® K80 et deux processeurs virtuels dans la zone us-east1-d. Les métadonnées de startup-script indiquent à l'instance d'installer le CUDA Tookit avec la version recommandée du pilote.

gcloud compute instances create gpu-instance-1 \
    --machine-type n1-standard-2 --zone us-east1-d \
    --accelerator type=nvidia-tesla-k80,count=1 \
    --image-family ubuntu-1604-lts --image-project ubuntu-os-cloud \
    --maintenance-policy TERMINATE --restart-on-failure \
    --metadata startup-script='#!/bin/bash
    echo "Checking for CUDA and installing."
    # Check for CUDA and try to install.
    if ! dpkg-query -W cuda-10-0; then
      curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_10.0.130-1_amd64.deb
      dpkg -i ./cuda-repo-ubuntu1604_10.0.130-1_amd64.deb
      apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
      apt-get update
      apt-get install cuda-10-0 -y
    fi'

Cet exemple de commande permet de démarrer l'instance, mais CUDA et le pilote mettront plusieurs minutes pour terminer l'installation.

API

Identifiez le type de GPU que vous souhaitez ajouter à votre instance. Soumettez une demande GET pour répertorier les types de GPU disponibles pour votre projet dans une zone spécifique.

GET https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/acceleratorTypes

où :

  • [PROJECT_ID] est l'ID de votre projet.
  • [ZONE] est la zone dans laquelle vous souhaitez répertorier les types de GPU disponibles.

Dans l'API, créez une requête POST pour créer une nouvelle instance. Incluez le paramètre acceleratorType pour spécifier le type de GPU que vous souhaitez utiliser et incluez le paramètre acceleratorCount pour spécifier le nombre de GPU à ajouter. Définissez également le paramètre onHostMaintenance sur TERMINATE.

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances?key={YOUR_API_KEY}
{
  "machineType": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/machineTypes/n1-highmem-2",
  "disks":
  [
    {
      "type": "PERSISTENT",
      "initializeParams":
      {
        "diskSizeGb": "[DISK_SIZE]",
        "sourceImage": "https://www.googleapis.com/compute/v1/projects/[IMAGE_PROJECT]/global/images/family/[IMAGE_FAMILY]"
      },
      "boot": true
    }
  ],
  "name": "[INSTANCE_NAME]",
  "networkInterfaces":
  [
    {
      "network": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/networks/[NETWORK]"
    }
  ],
  "guestAccelerators":
  [
    {
      "acceleratorCount": [ACCELERATOR_COUNT],
      "acceleratorType": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/acceleratorTypes/[ACCELERATOR_TYPE]"
    }
  ],
  "scheduling":
  {
    "onHostMaintenance": "terminate",
    "automaticRestart": true,
    ["preemptible": true]
  },
  "metadata":
  {
    "items":
    [
      {
        "key": "startup-script",
        "value": "[STARTUP_SCRIPT]"
      }
    ]
  }
}

où :

  • [INSTANCE_NAME] est le nom de l'instance.
  • [PROJECT_ID] est l'ID de votre projet.
  • [ZONE] est la zone de cette instance.
  • [MACHINE_TYPE] est le type de machine que vous avez sélectionné pour l'instance. Consultez la section GPU sur Compute Engine pour connaître les types de machines disponibles en fonction du nombre de GPU souhaité.
  • [IMAGE_PROJECT] est le projet d'image auquel appartient la famille d'images.
  • [IMAGE_FAMILY] est une image de disque de démarrage pour votre instance. Spécifiez une famille d'images dans la liste des images publiques disponibles.
  • [DISK_SIZE] est la taille de votre disque de démarrage en Go.
  • [NETWORK] est le réseau VPC que vous souhaitez utiliser pour cette instance. Spécifiez default pour utiliser votre réseau par défaut.
  • [ACCELERATOR_COUNT] est le nombre de GPU que vous souhaitez ajouter à votre instance. Consultez la section GPU sur Compute Engine pour obtenir la liste des limites de GPU en fonction du type de machine de votre instance.
  • [ACCELERATOR_TYPE] est le modèle de GPU que vous souhaitez utiliser. Consultez la section GPU sur Compute Engine pour obtenir la liste des modèles de GPU disponibles.
  • [STARTUP_SCRIPT] est un script de démarrage facultatif que vous pouvez utiliser pour installer le pilote de GPU pendant le démarrage de l'instance. Consultez la section Installer des pilotes de GPU pour obtenir des exemples.
  • "preemptible": true est un paramètre facultatif qui configure votre instance en tant qu'instance préemptive. Cela réduit le coût de votre instance et des GPU utilisés. Pour plus d'informations, consultez la section GPU sur des instances préemptives.

Si vous avez utilisé un script de démarrage pour installer automatiquement le pilote de périphérique GPU, vérifiez que le pilote de GPU est correctement installé.

Si vous n'avez pas utilisé de script de démarrage pour installer le pilote de GPU lors de la création de l'instance, installez manuellement le pilote de GPU sur votre instance pour que votre système puisse l'utiliser.

Ajouter ou supprimer des GPU sur des instances existantes

Vous pouvez ajouter des GPU sur vos instances existantes ou les retirer, mais vous devez d'abord arrêter l'instance et modifier le paramètre de maintenance de l'hôte pour qu'il se termine plutôt que de migrer à chaud. Les instances comportant des GPU ne peuvent pas migrer à chaud car elles sont affectées à des périphériques matériels spécifiques. Consultez les restrictions relatives aux GPU pour plus de détails.

Sachez également que vous devez installer les pilotes de GPU sur cette instance après avoir ajouté un GPU. L'image de disque de démarrage que vous avez utilisée pour créer cette instance détermine les pilotes nécessaires. Vous devez identifier les pilotes appropriés pour le système d'exploitation sur les images de disque de démarrage persistantes de votre instance. Consultez la page Installation de pilotes de GPU pour plus de détails.

Vous pouvez ajouter des GPU à une instance ou supprimer des GPU d'une instance à l'aide de la console Google Cloud Platform ou de l'API.

Console

Vous pouvez ajouter des GPU à votre instance ou les supprimer en arrêtant l'instance et en modifiant la configuration de votre instance.

  1. Vérifiez que toutes vos applications critiques sont arrêtées sur l'instance. Vous devez arrêter l'instance avant de pouvoir ajouter un GPU.

  2. Accédez à la page des instances de VM pour afficher votre liste d'instances.

    Accéder à la page "Instances de VM"

  3. Dans la liste des instances, cliquez sur le nom de l'instance à laquelle vous souhaitez ajouter des GPU. La page des détails de l'instance s'affiche.

  4. En haut de la page des détails de l'instance, cliquez sur Arrêter pour arrêter l'instance.

  5. Une fois l'instance arrêtée, cliquez sur Modifier pour modifier ses propriétés.

  6. Si l'instance dispose d'un type de machine à cœur partagé, vous devez modifier le type de machine pour avoir un ou plusieurs processeurs virtuels. Vous ne pouvez pas ajouter d'accélérateurs à des instances avec des types de machines à cœur partagé.

  7. Dans la section Configuration de la machine, cliquez sur Plate-forme du processeur et GPU pour afficher les options avancées de type de machine et les GPU disponibles.

  8. Cliquez sur les GPU pour afficher la liste des GPU disponibles.

  9. Sélectionnez le nombre de GPU et le modèle de GPU que vous souhaitez ajouter à votre instance. Vous pouvez également définir le nombre de GPU sur Aucun pour supprimer les GPU existants de l'instance.

  10. Si vous avez ajouté des GPU à une instance, définissez le paramètre de maintenance de l'hôte sur Terminer. Si vous avez supprimé des GPU de l'instance, vous pouvez éventuellement redéfinir le paramètre de maintenance de l'hôte sur Transférer l'instance de VM.

  11. En bas de la page des détails de l'instance, cliquez sur Enregistrer pour appliquer vos modifications.

  12. Une fois les paramètres d'instance enregistrés, cliquez sur Démarrer en haut de la page des détails de l'instance pour redémarrer l'instance.

API

Vous pouvez ajouter des GPU à votre instance ou les supprimer en arrêtant l'instance et en modifiant la configuration de votre instance via l'API.

  1. Vérifiez que toutes vos applications critiques sont arrêtées sur l'instance, puis créez une commande POST pour arrêter l'instance afin qu'elle puisse être déplacée vers un système hôte sur lequel les GPU sont disponibles.

    POST https://www.googleapis.com/compute/v1/projects/compute/zones/[ZONE]/instances/[INSTANCE_NAME]/stop
    

    où :

    • [INSTANCE_NAME] est le nom de l'instance à laquelle vous souhaitez ajouter des GPU.
    • [ZONE] est la zone dans laquelle se trouve l'instance.
  2. Identifiez le type de GPU que vous souhaitez ajouter à votre instance. Soumettez une demande GET pour répertorier les types de GPU disponibles pour votre projet dans une zone spécifique.

    GET https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/acceleratorTypes
    

    où :

    • [PROJECT_ID] est l'ID de votre projet.
    • [ZONE] est la zone dans laquelle vous souhaitez répertorier les types de GPU disponibles.
  3. Si l'instance dispose d'un type de machine à cœur partagé, vous devez modifier le type de machine pour avoir un ou plusieurs processeurs virtuels. Vous ne pouvez pas ajouter d'accélérateurs à des instances avec des types de machines à cœur partagé.

  4. Une fois l'instance arrêtée, créez une requête POST pour ajouter ou supprimer un ou plusieurs GPU sur votre instance.

    POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]/setMachineResources
    
    {
     "guestAccelerators": [
      {
        "acceleratorCount": [ACCELERATOR_COUNT],
        "acceleratorType": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/acceleratorTypes/[ACCELERATOR_TYPE]"
      }
     ]
    }
    

    où :

    • [INSTANCE_NAME] est le nom de l'instance.
    • [PROJECT_ID] est l'ID de votre projet.
    • [ZONE] est la zone de cette instance.
    • [ACCELERATOR_COUNT] est le nombre de GPU que vous souhaitez utiliser sur votre instance. Consultez la section GPU sur Compute Engine pour obtenir la liste des limites de GPU en fonction du type de machine de votre instance.
    • [ACCELERATOR_TYPE] est le modèle de GPU que vous souhaitez utiliser. Consultez la section GPU sur Compute Engine pour obtenir la liste des modèles de GPU disponibles.
  5. Créez une requête POST pour définir les options de planification de l'instance. Si vous ajoutez des GPU à une instance, vous devez spécifier "onHostMaintenance": "TERMINATE". Si vous supprimez des GPU d'une instance, vous pouvez spécifier "onHostMaintenance": "MIGRATE".

    POST https://www.googleapis.com/compute/v1/projects/compute/zones/[ZONE]/instances/[INSTANCE_NAME]/setScheduling
    
    {
     "onHostMaintenance": "[MAINTENANCE_TYPE]",
     "automaticRestart": true
    }
    

    où :

    • [INSTANCE_NAME] est le nom de l'instance à laquelle vous souhaitez ajouter des GPU.
    • [ZONE] est la zone dans laquelle se trouve l'instance.
    • [MAINTENANCE_TYPE] est l'action que votre instance doit effectuer lorsque la maintenance de l'hôte est nécessaire. Indiquez TERMINATE si vous ajoutez des GPU à votre instance. Vous pouvez également spécifier "onHostMaintenance": "MIGRATE" si vous avez supprimé tous les GPU de votre instance et si vous souhaitez que l'instance reprenne la migration sur les événements de maintenance de l'hôte.
  6. Démarrez l'instance.

    POST https://www.googleapis.com/compute/v1/projects/compute/zones/[ZONE]/instances/[INSTANCE_NAME]/start
    

    où :

    • [INSTANCE_NAME] est le nom de l'instance à laquelle vous souhaitez ajouter des GPU.
    • [ZONE] est la zone dans laquelle se trouve l'instance.

Ensuite, installez le pilote de GPU sur votre instance pour que votre système puisse utiliser le périphérique.

Créer des groupes d'instances de GPU à l'aide de modèles d'instance

Vous pouvez utiliser des modèles d'instance pour créer des groupes d'instances gérés avec des GPU ajoutés à chaque instance. Les groupes d'instances gérés utilisent ces modèles pour créer plusieurs instances identiques. Vous pouvez adapter le nombre d'instances du groupe à votre charge de travail.

Pour plus d'informations sur la création d'un modèle d'instance, consultez la page Créer des modèles d'instance.

Si vous créez le modèle d'instance à l'aide de la console, personnalisez le type de machine, puis sélectionnez le type et le nombre de GPU que vous souhaitez ajouter au modèle d'instance.

Si vous utilisez l'outil de ligne de commande gcloud, incluez les indicateurs --accelerators et --maintenance-policy TERMINATE. Si vous le souhaitez, incluez l'indicateur --metadata startup-script et spécifiez un script de démarrage pour installer le pilote de GPU au démarrage de l'instance. Pour consulter des exemples de scripts fonctionnant sur des instances de GPU, reportez-vous à l'installation des pilotes GPU.

L'exemple suivant permet de créer un modèle d'instance avec 2 processeurs virtuels, un disque de démarrage de 250 Go avec Ubuntu 16.04, un GPU NVIDIA® Tesla® K80 et un script de démarrage. Le script de démarrage installe le CUDA Toolkit avec la version de pilote recommandée.

gcloud beta compute instance-templates create gpu-template \
    --machine-type n1-standard-2 \
    --boot-disk-size 250GB \
    --accelerator type=nvidia-tesla-k80,count=1 \
    --image-family ubuntu-1604-lts --image-project ubuntu-os-cloud \
    --maintenance-policy TERMINATE --restart-on-failure \
    --metadata startup-script='#!/bin/bash
    echo "Checking for CUDA and installing."
    # Check for CUDA and try to install.
    if ! dpkg-query -W cuda-10-0; then
      curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_10.0.130-1_amd64.deb
      dpkg -i ./cuda-repo-ubuntu1604_10.0.130-1_amd64.deb
      apt-get update
      apt-get install cuda-10-0 -y
    fi'

Après avoir créé le modèle, utilisez-le pour créer un groupe d'instances. Chaque fois que vous ajoutez une instance au groupe, cette instance démarre avec les paramètres du modèle d'instance.

Si vous créez un groupe d'instances géré régional, veillez à sélectionner les zones qui prennent spécifiquement en charge le modèle de GPU souhaité. Pour obtenir une liste des modèles de GPU et des zones disponibles, consultez la section GPU sur Compute Engine. L'exemple suivant permet de créer un groupe d'instances géré régional sur deux zones prenant en charge le modèle nvidia-tesla-k80.

gcloud beta compute instance-groups managed create example-rmig \
    --template gpu-template --base-instance-name example-instances \
    --size 30 --zones us-east1-c,us-east1-d

Remarque : Si vous choisissez des zones spécifiques, utilisez le composant gcloud beta, car la fonctionnalité de sélection de zone est actuellement en version bêta.

Pour en savoir plus sur la gestion et le scaling de groupes d'instances, consultez la section Créer des groupes d'instances gérés.

Installer des pilotes de GPU

Une fois que vous avez créé une instance avec un ou plusieurs GPU, votre système requiert des pilotes de périphérique pour que vos applications puissent accéder au périphérique. Ce guide montre comment installer des pilotes propriétaires NVIDIA sur des instances avec des images publiques.

Vous pouvez installer les pilotes de GPU via l'une des options suivantes :

Installer des pilotes de GPU à l'aide de scripts

Chaque version de CUDA exige une version minimale du pilote de GPU ou une version ultérieure. Pour vérifier la version minimale requise pour votre version de CUDA, consultez les versions de pilote compatibles avec le CUDA Toolkit.

Les GPU NVIDIA exécutés sur Google Compute Engine doivent utiliser les versions de pilotes suivantes :

  • Instances Linux

    • Pilote NVIDIA 410.79 ou supérieur
  • Instances Windows Server :

    • Pilote NVIDIA 411.98 ou supérieur

Pour la plupart des installations de pilotes, vous pouvez obtenir ces pilotes en installant le NVIDIA CUDA Toolkit.

Sur certaines images, vous pouvez utiliser des scripts pour simplifier le processus d'installation du pilote. Vous pouvez spécifier ces scripts en tant que scripts de démarrage sur vos instances ou les copier dans vos instances, puis les exécuter via le terminal en tant qu'utilisateur disposant des privilèges sudo.

Vous devez préparer le script pour qu'il fonctionne avec l'image de disque de démarrage que vous avez sélectionnée. Si vous avez importé une image de disque de démarrage personnalisée pour vos instances, vous devrez peut-être personnaliser le script de démarrage pour qu'il fonctionne correctement avec cette image personnalisée.

Pour les instances Windows Server et les instances SLES 12 où vous ne pouvez pas automatiser le processus d'installation du pilote, installez le pilote manuellement.

Les exemples suivants sont des scripts de démarrage qui installent CUDA et les pilotes associés pour les GPU NVIDIA sur les images publiques. Si le logiciel que vous utilisez nécessite une version spécifique de CUDA, modifiez le script pour télécharger la version de CUDA dont vous avez besoin.

Pour plus d'informations sur la prise en charge de CUDA et sur les étapes à suivre pour modifier votre installation CUDA, consultez la documentation sur le CUDA Toolkit.

Pour vérifier si un script de démarrage est terminé, vous pouvez consulter les journaux ou examiner la console série.

CentOS

Ces exemples de script permettent de rechercher une installation CUDA existante, puis d'installer le package CUDA 10 complet ainsi que son pilote propriétaire associé.

CentOS 7 – CUDA 10 :

#!/bin/bash
# Install kernel headers and development packages
echo "Installing kernel headers and development packages."
yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r) -y
echo "Checking for CUDA and installing."
# Check for CUDA and try to install.
if ! rpm -q cuda-10-0; then
  curl -O http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-10.0.130-1.x86_64.rpm
  rpm -i --force ./cuda-repo-rhel7-10.0.130-1.x86_64.rpm
  yum clean all
  rm -rf /var/cache/yum
  # Install Extra Packages for Enterprise Linux (EPEL) for dependencies
  yum install epel-release -y
  yum update -y
  yum install cuda-10-0 -y
fi
# Verify that CUDA installed; retry if not.
if ! rpm -q cuda-10-0; then
  yum install cuda-10-0 -y
fi
# Enable persistence mode
nvidia-smi -pm 1

Sur les instances avec des images CentOS 7, vous devrez peut-être redémarrer l'instance une fois que le script aura fini d'installer les pilotes et les packages CUDA. Redémarrez l'instance si le script est terminé et que la commande nvidia-smi renvoie l'erreur suivante :

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA
driver. Make sure that the latest NVIDIA driver is installed and
running.

CentOS 6 – CUDA 10 :

#!/bin/bash
# Install kernel headers and development packages
echo "Installing kernel headers and development packages."
yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r) -y
echo "Checking for CUDA and installing."
# Check for CUDA and try to install.
if ! rpm -q cuda-10-0; then
  curl -O http://developer.download.nvidia.com/compute/cuda/repos/rhel6/x86_64/cuda-repo-rhel6-10.0.130-1.x86_64.rpm
  rpm -i --force ./cuda-repo-rhel6-10.0.130-1.x86_64.rpm
  yum clean all
  # Install Extra Packages for Enterprise Linux (EPEL) for dependencies
  yum install epel-release -y
  yum update -y
  yum install cuda-10-0 -y
fi
# Verify that CUDA installed; retry if not.
if ! rpm -q cuda-10-0; then
  yum install cuda-10-0 -y
fi
# Enable persistence mode
nvidia-smi -pm 1

Sur les instances avec des images CentOS 6, vous devrez peut-être redémarrer l'instance une fois que le script aura fini d'installer les pilotes et les packages CUDA. Redémarrez l'instance si le script est terminé et que la commande nvidia-smi renvoie l'erreur suivante :

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA
driver. Make sure that the latest NVIDIA driver is installed and
running.

RHEL

Ces exemples de script permettent de rechercher une installation CUDA existante, puis d'installer le package CUDA 1 complet ainsi que son pilote propriétaire associé.

RHEL 7 – CUDA 10 :

#!/bin/bash
# Install kernel headers and development packages
echo "Installing kernel headers and development packages."
yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r) -y
echo "Checking for CUDA and installing."
# Check for CUDA and try to install.
if ! rpm -q cuda-10-0; then
  curl -O http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-10.0.130-1.x86_64.rpm
  rpm -i --force ./cuda-repo-rhel7-10.0.130-1.x86_64.rpm
  yum clean all
  rm -rf /var/cache/yum
  # Install Extra Packages for Enterprise Linux (EPEL) for dependencies
  yum install epel-release -y
  yum update -y
  yum install cuda-10-0 -y
fi
# Verify that CUDA installed; retry if not.
if ! rpm -q cuda-10-0; then
  yum install cuda-10-0 -y
fi
# Enable persistence mode
nvidia-smi -pm 1

Sur les instances avec des images RHEL 7, vous devrez peut-être redémarrer l'instance une fois que le script aura fini d'installer les pilotes et les packages CUDA. Redémarrez l'instance si le script est terminé et que la commande nvidia-smi renvoie l'erreur suivante :

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA
driver. Make sure that the latest NVIDIA driver is installed and
running.

RHEL 6 – CUDA 10 :

#!/bin/bash
# Install kernel headers and development packages
echo "Installing kernel headers and development packages."
yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r) -y
echo "Checking for CUDA and installing."
# Check for CUDA and try to install.
if ! rpm -q cuda-10-0; then
  curl -O http://developer.download.nvidia.com/compute/cuda/repos/rhel6/x86_64/cuda-repo-rhel6-10.0.130-1.x86_64.rpm
  rpm -i --force ./cuda-repo-rhel6-10.0.130-1.x86_64.rpm
  yum clean all
  # Install Extra Packages for Enterprise Linux (EPEL) for dependencies
  yum install epel-release -y
  yum update -y
  yum install cuda-10-0 -y
fi
# Verify that CUDA installed; retry if not.
if ! rpm -q cuda-10-0; then
  yum install cuda-10-0 -y
fi
# Enable persistence mode
nvidia-smi -pm 1

Sur les instances avec des images RHEL 6, vous devrez peut-être redémarrer l'instance une fois que le script aura fini d'installer les pilotes et les packages CUDA. Redémarrez l'instance si le script est terminé et que la commande nvidia-smi renvoie l'erreur suivante :

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA
driver. Make sure that the latest NVIDIA driver is installed and
running.

Pour vérifier si le script est terminé, vous pouvez examiner la console série.

SLES

SLES 15 – CUDA 10 :

Cet exemple de script permet de rechercher une installation CUDA existante, puis d'installer le package CUDA 10 complet ainsi que son pilote propriétaire associé.

#!/bin/bash
echo "Checking for CUDA and installing."
# Check for CUDA and try to install.
if ! rpm -q cuda-10-0; then
  curl -O http://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/cuda-repo-sles15-10.0.130-1.x86_64.rpm
  rpm -i --force ./cuda-repo-sles15-10.0.130-1.x86_64.rpm
  zypper --gpg-auto-import-keys refresh
  zypper install -ny cuda-10-0
fi
# Verify that CUDA installed; retry if not.
if ! rpm -q cuda-10-0; then
  zypper install -ny cuda-10-0
fi
# Enable persistence mode
nvidia-smi -pm 1

SLES 12 Service Pack 3 – CUDA 9.1 :

Cet exemple de script permet de rechercher une installation CUDA existante, puis d'installer le package CUDA 9 complet ainsi que son pilote propriétaire associé.

#!/bin/bash
echo "Checking for CUDA and installing."
# Check for CUDA and try to install.
if ! rpm -q cuda-9-1; then
  curl -O http://developer.download.nvidia.com/compute/cuda/repos/sles123/x86_64/cuda-repo-sles123-9.1.85-1.x86_64.rpm
  rpm -i --force ./cuda-repo-sles123-9.1.85-1.x86_64.rpm
  zypper --gpg-auto-import-keys refresh
  zypper install -ny cuda-9-1
fi
# Verify that CUDA installed; retry if not.
if ! rpm -q cuda-9-1; then
  zypper install -ny cuda-9-1
fi
# Enable persistence mode
nvidia-smi -pm 1

SLES 12 :

Sur les autres instances SLES 12, installez le pilote manuellement.

Ubuntu

Ubuntu 18.04 – CUDA 10 :

Cet exemple de script permet de rechercher une installation CUDA existante, puis d'installer le package CUDA 10 complet ainsi que son pilote propriétaire associé.

 #!/bin/bash
 echo "Checking for CUDA and installing."
 # Check for CUDA and try to install.
 if ! dpkg-query -W cuda-10-0; then
   curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
   dpkg -i ./cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
   apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
   apt-get update
   apt-get install cuda-10-0 -y
 fi
# Enable persistence mode
nvidia-smi -pm 1

Ubuntu 17.04 et 17.10 – CUDA 9 :

Cet exemple de script permet de rechercher une installation CUDA existante, puis d'installer le package CUDA 9 complet ainsi que son pilote propriétaire associé.

#!/bin/bash
echo "Checking for CUDA and installing."
# Check for CUDA and try to install.
if ! dpkg-query -W cuda-9-0; then
  # The 17.04 installer works with 17.10.
  curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1704_9.0.176-1_amd64.deb
  dpkg -i ./cuda-repo-ubuntu1704_9.0.176-1_amd64.deb
  apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
  apt-get update
  apt-get install cuda-9-0 -y
fi
# Enable persistence mode
nvidia-smi -pm 1

Ubuntu 16.04 LTS – CUDA 10 :

Cet exemple de script permet de rechercher une installation CUDA existante, puis d'installer le package CUDA 10 complet ainsi que son pilote propriétaire associé.

#!/bin/bash
echo "Checking for CUDA and installing."
# Check for CUDA and try to install.
if ! dpkg-query -W cuda-10-0; then
  # The 16.04 installer works with 16.10.
  curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_10.0.130-1_amd64.deb
  dpkg -i ./cuda-repo-ubuntu1604_10.0.130-1_amd64.deb
  apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
  apt-get update
  apt-get install cuda-10-0 -y
fi
# Enable persistence mode
nvidia-smi -pm 1

Windows Server

Sur les instances Windows Server, vous devez installer le pilote manuellement.

Une fois l'exécution de votre script terminée, vous pouvez vérifier que le pilote de GPU est bien installé.

Installer manuellement des pilotes de GPU

Si vous ne pouvez pas utiliser un script pour installer le pilote pour vos GPU, vous pouvez installer manuellement le pilote. Vous êtes responsable de la sélection de la version du programme d'installation et du pilote qui convient le mieux à vos applications. Utilisez cette méthode d'installation si vous avez besoin d'un pilote spécifique, ou si vous devez installer le pilote sur une image personnalisée ou sur une image publique qui ne fonctionne pas avec l'un des scripts d'installation.

Vous pouvez utiliser ce processus pour installer manuellement des pilotes sur des instances avec la plupart des images publiques. Pour les images personnalisées, vous devrez peut-être modifier le processus afin qu'il fonctionne dans votre environnement spécifique.

CentOS

  1. Connectez-vous à l'instance sur laquelle vous souhaitez installer le pilote.

  2. Installez les en-têtes de noyau et les packages de développement.

    yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r) -y
    
  3. Sélectionnez un dépôt de pilotes et ajoutez-le à votre instance. Par exemple, utilisez curl pour télécharger le CUDA Toolkit et exécutez la commande rpm pour ajouter le dépôt à votre système :

    • CentOS 7

      $ curl -O http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-10.0.130-1.x86_64.rpm
      
      $ sudo rpm -i cuda-repo-rhel7-10.0.130-1.x86_64.rpm
      
    • CentOS 6

      $ curl -O http://developer.download.nvidia.com/compute/cuda/repos/rhel6/x86_64/cuda-repo-rhel6-10.0.130-1.x86_64.rpm
      
      $ sudo rpm -i cuda-repo-rhel6-10.0.130-1.x86_64.rpm
      
  4. Installez le dépôt epel-release. Ce dépôt comprend les packages DKMS requis pour installer les pilotes NVIDIA sur CentOS.

    $ sudo yum install epel-release
    
  5. Nettoyez le cache Yum :

    $ sudo yum clean all
    
  6. Installez CUDA 10, qui inclut le pilote NVIDIA.

    $ sudo yum install cuda-10-0
    
  7. Sur les instances avec des images CentOS, vous devrez peut-être redémarrer l'instance après l'installation des pilotes et des packages CUDA. Redémarrez l'instance si le script est terminé et que la commande nvidia-smi renvoie l'erreur suivante :

    NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA
    driver. Make sure that the latest NVIDIA driver is installed and
    running.
    
  8. Activez le mode persistance.

    $ sudo nvidia-smi -pm 1
    Enabled persistence mode for GPU 00000000:00:04.0.
    Enabled persistence mode for GPU 00000000:00:05.0.
    All done.
    

RHEL

  1. Connectez-vous à l'instance sur laquelle vous souhaitez installer le pilote.

  2. Installez les en-têtes de noyau et les packages de développement.

    yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r) -y
    
  3. Sélectionnez un dépôt de pilotes et ajoutez-le à votre instance. Par exemple, utilisez curl pour télécharger le CUDA Toolkit et exécutez la commande rpm pour ajouter le dépôt à votre système :

    • RHEL 7

      $ curl -O http://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-10.0.130-1.x86_64.rpm
      
      $ sudo rpm -i cuda-repo-rhel7-10.0.130-1.x86_64.rpm
      
    • RHEL 6

      $ curl -O http://developer.download.nvidia.com/compute/cuda/repos/rhel6/x86_64/cuda-repo-rhel6-10.0.130-1.x86_64.rpm
      
      $ sudo rpm -i cuda-repo-rhel6-10.0.130-1.x86_64.rpm
      
  4. Installez le dépôt epel-release. Ce dépôt comprend les packages DKMS requis pour installer les pilotes NVIDIA. Sur RHEL, vous devez télécharger le fichier .rpm pour ce dépôt à partir de fedoraproject.org, puis l'ajouter à votre système.

    • RHEL 7

      $ curl -O https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
      
      $ sudo rpm -i epel-release-latest-7.noarch.rpm
      
    • RHEL 6

      $ curl -O https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
      
      $ sudo rpm -i epel-release-latest-6.noarch.rpm
      
  5. Nettoyez le cache Yum :

    $ sudo yum clean all
    
  6. Installez CUDA 10, qui inclut le pilote NVIDIA.

    $ sudo yum install cuda-10-0
    
  7. Sur les instances avec des images RHEL, vous devrez peut-être redémarrer l'instance après l'installation des pilotes et des packages CUDA. Redémarrez l'instance si le script est terminé et que la commande nvidia-smi renvoie l'erreur suivante :

    NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA
    driver. Make sure that the latest NVIDIA driver is installed and
    running.
    
  8. Activez le mode persistance.

    $ sudo nvidia-smi -pm 1
    Enabled persistence mode for GPU 00000000:00:04.0.
    Enabled persistence mode for GPU 00000000:00:05.0.
    All done.
    

SLES

  1. Connectez-vous à l'instance sur laquelle vous souhaitez installer le pilote.

  2. Sélectionnez un dépôt de pilotes et ajoutez-le à votre instance. Par exemple, utilisez curl pour télécharger le CUDA Toolkit et exécutez la commande rpm pour ajouter le dépôt à votre système :

    • SLES 15

      $ curl -O https://developer.download.nvidia.com/compute/cuda/repos/sles15/x86_64/cuda-repo-sles15-10.0.130-1.x86_64.rpm
      
      $ sudo rpm -i cuda-repo-sles15-10.0.130-1.x86_64.rpm
      
    • SLES 12 Service Pack 3

      $ curl -O https://developer.download.nvidia.com/compute/cuda/repos/sles123/x86_64/cuda-repo-sles123-9.1.85-1.x86_64.rpm
      
      $ sudo rpm -i cuda-repo-sles123-9.1.85-1.x86_64.rpm
      
    • SLES 12 Service Pack 2

      $ curl -O https://developer.download.nvidia.com/compute/cuda/repos/sles122/x86_64/cuda-repo-sles122-9.0.176-1.x86_64.rpm
      
      $ sudo rpm -i cuda-repo-sles122-9.0.176-1.x86_64.rpm
      
  3. Actualisez Zypper :

    $ sudo zypper refresh
    
  4. Installez CUDA, qui inclut le pilote NVIDIA.

    $ zypper install cuda
    
  5. Activez le mode persistance.

    $ sudo nvidia-smi -pm 1
    Enabled persistence mode for GPU 00000000:00:04.0.
    Enabled persistence mode for GPU 00000000:00:05.0.
    All done.
    

Ubuntu

  1. Connectez-vous à l'instance sur laquelle vous souhaitez installer le pilote.

  2. Sélectionnez un dépôt de pilotes et ajoutez-le à votre instance. Par exemple, utilisez curl pour télécharger le CUDA Toolkit et exécutez la commande dpkg pour ajouter le dépôt à votre système. Ensuite, utilisez la commande apt-key pour authentifier le téléchargement :

    • Ubuntu 18.04

      $ curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
      
      $ sudo dpkg -i cuda-repo-ubuntu1804_10.0.130-1_amd64.deb
      $ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1704/x86_64/7fa2af80.pub
      
    • Ubuntu 17.04 et 17.10

      $ curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1704/x86_64/cuda-repo-ubuntu1704_9.0.176-1_amd64.deb
      
      $ sudo dpkg -i cuda-repo-ubuntu1704_9.0.176-1_amd64.deb
      $ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1704/x86_64/7fa2af80.pub
      
    • Ubuntu 16.04 et 16.10 LTS

      $ curl -O http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/cuda-repo-ubuntu1604_10.0.130-1_amd64.deb
      
      $ sudo dpkg -i cuda-repo-ubuntu1604_10.0.130-1_amd64.deb
      $ sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
      
  3. Mettez à jour les listes de packages :

    $ sudo apt-get update
    
  4. Installez CUDA, qui inclut le pilote NVIDIA.

    • Ubuntu 16.04, 16.10 et 18.04

      $ sudo apt-get install cuda-10-0
      
    • Ubuntu 17.04 et 17.10

      $ sudo apt-get install cuda-9-0
      
  5. Activez le mode persistance.

    $ sudo nvidia-smi -pm 1
    Enabled persistence mode for GPU 00000000:00:04.0.
    Enabled persistence mode for GPU 00000000:00:05.0.
    All done.
    

Windows Server

  1. Connectez-vous à l'instance sur laquelle vous souhaitez installer le pilote.

  2. Téléchargez un fichier d'installation .exe sur votre instance, contenant la branche R384 : pilote NVIDIA 386.07 ou supérieur. Pour la plupart des instances Windows Server, vous pouvez utiliser l'une des options suivantes :

    Par exemple, dans Windows Server 2016, vous pouvez ouvrir un terminal PowerShell en tant qu'administrateur et utiliser la commande wget pour télécharger le programme d'installation du pilote dont vous avez besoin.

    PS C:\> wget https://developer.nvidia.com/compute/cuda/10.0/Prod/network_installers/cuda_10.0.130_win10_network -o cuda_10.0.130_win10_network.exe
  3. Exécutez le programme d'installation .exe. Par exemple, vous pouvez ouvrir un terminal PowerShell en tant qu'administrateur et exécuter la commande suivante :

    PS C:\> .\\cuda_10.0.130_win10_network.exe
    

Une fois l'exécution de votre programme d'installation terminée, vérifiez que le pilote de GPU est bien installé.

Vérifier l'installation du pilote de GPU

Une fois l'installation du pilote terminée, vérifiez que le pilote est correctement installé et initialisé.

Linux

Connectez-vous à l'instance Linux et utilisez la commande nvidia-smi pour vérifier que le pilote fonctionne correctement.

$ nvidia-smi

Wed Jan  2 19:51:51 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.79       Driver Version: 410.79       CUDA Version: 10.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla P4            Off  | 00000000:00:04.0 Off |                    0 |
| N/A   42C    P8     7W /  75W |     62MiB /  7611MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

Windows Server

Connectez-vous à l'instance Windows Server et utilisez l'outil nvidia-smi.exe pour vérifier que le pilote fonctionne correctement.

PS C:\> & 'C:\Program Files\NVIDIA Corporation\NVSMI\nvidia-smi.exe'

Fri Jan 04 16:47:42 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 411.31                 Driver Version: 411.31                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla P4            TCC  | 00000000:00:04.0 Off |                    0 |
| N/A   31C    P8     6W /  75W |      0MiB /  7611MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

Si le pilote ne fonctionne pas et que vous avez utilisé un script pour installer le pilote, vérifiez que les journaux du script de démarrage indiquent que le script est terminé et qu'il n'a pas échoué au cours du processus d'installation.

Installer des pilotes GRID® pour les postes de travail virtuels

Pour obtenir une liste complète des pilotes NVIDIA que vous pouvez utiliser sur Compute Engine, consultez le contenu du bucket Cloud Storage des pilotes NVIDIA.

Linux

  1. Téléchargez le pilote GRID en utilisant la commande suivante :

    curl -O https://storage.googleapis.com/nvidia-drivers-us-public/GRID/GRID7.1/NVIDIA-Linux-x86_64-410.92-grid.run
    
  2. Utilisez la commande suivante pour démarrer le programme d'installation :

    sudo bash NVIDIA-Linux-x86_64-410.92-grid.run
    
  3. Pendant l'installation, choisissez les options suivantes :

    • Si vous êtes invité à installer des fichiers binaires 32 bits, sélectionnez Oui.
    • Si vous êtes invité à modifier le fichier x.org, sélectionnez Non.

Windows Server

  1. Selon votre version de Windows Server, téléchargez l'un des pilotes NVIDIA GRID suivants :

  2. Exécutez le programme d'installation et choisissez l'installation Express.

  3. Une fois l'installation terminée, redémarrez la machine virtuelle. Vous serez alors déconnecté de votre session.

  4. Reconnectez-vous à votre instance à l'aide de RDP ou d'un client PCoIP.

Vérifier l'installation du pilote GRID

Linux

Exécutez les commandes suivantes :

sudo nvidia-smi --persistence-mode=1
nvidia-smi

Le résultat de la commande ressemble à ceci :

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.92                Driver Version: 410.92                     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla P100-PCIE...  On   | 00000000:00:04.0 Off |                    0 |
| N/A   34C    P0    26W / 250W |      0MiB / 16276MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

Windows Server

  1. Connectez-vous à votre instance Windows à l'aide de RDP ou d'un client PCoIP.

  2. Cliquez avec le bouton droit sur le bureau et sélectionnez Panneau de configuration NVIDIA.

  3. Dans le menu d'aide du panneau de configuration NVIDIA, sélectionnez Informations système. Les informations indiquent le GPU utilisé par la machine virtuelle et la version du pilote.

Optimiser les performances des GPU

En général, vous pouvez optimiser les performances de vos périphériques GPU sur les instances Linux en utilisant les paramètres suivants :

  • Activez le mode persistance. Ce paramètre s'applique à tous les GPU de votre instance.

    $ sudo nvidia-smi -pm 1
    Enabled persistence mode for GPU 00000000:00:04.0.
    Enabled persistence mode for GPU 00000000:00:05.0.
    All done.
    

  • Sur les instances avec les GPU NVIDIA® Tesla® K80, désactivez autoboost :

    $ sudo nvidia-smi --auto-boost-default=DISABLED
    All done.
    

Gérer les événements de maintenance de l'hôte

Les instances de GPU ne peuvent pas être migrées à chaud. Elles doivent s'interrompre pour les événements de maintenance de l'hôte, mais peuvent redémarrer automatiquement. Ces événements de maintenance se produisent généralement une fois par semaine mais peuvent se produire plus fréquemment, si nécessaire.

Vous pouvez gérer les événements de maintenance comme suit :

  • Évitez ces interruptions en redémarrant régulièrement vos instances selon un calendrier plus pratique pour vos applications.
  • Identifiez à quel moment la maintenance de l'hôte est planifiée sur votre instance et préparez votre charge de travail en tenant compte du redémarrage du système.

Pour recevoir des notifications avancées des événements de maintenance de l'hôte, surveillez la valeur de métadonnées /computeMetadata/v1/instance/maintenance-event. Si la demande adressée au serveur de métadonnées renvoie NONE, l'instance n'est pas programmée pour se terminer. Par exemple, exécutez la commande suivante à partir d'une instance :

$ curl http://metadata.google.internal/computeMetadata/v1/instance/maintenance-event -H "Metadata-Flavor: Google"

NONE

Si le serveur de métadonnées renvoie TERMINATE_ON_HOST_MAINTENANCE, l'instance est programmée pour se terminer. Compute Engine donne aux instances de GPU un préavis d'interruption d'une heure, tandis que les instances normales ne reçoivent qu'un préavis de 60 secondes. Configurez votre application pour traverser l'événement de maintenance. Par exemple, vous pouvez utiliser l'une des techniques suivantes :

  • Configurez votre application pour déplacer temporairement le travail en cours vers un bucket Google Cloud Storage, puis récupérez ces données après le redémarrage de l'instance.

  • Écrivez les données sur un disque persistant secondaire. Lorsque l'instance redémarre automatiquement, le disque persistant peut être associé à nouveau, et votre application peut reprendre son travail.

Vous pouvez également recevoir une notification des modifications de cette valeur de métadonnées sans interrogation. Pour obtenir des exemples sur la façon de recevoir des notifications avancées des événements de maintenance des hôtes sans interrogation, consultez les avis de migration à chaud.

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine