Partager via


Extension du pilote GPU NVIDIA pour Linux

Cette extension installe des pilotes GPU NVIDIA sur des machines virtuelles de série N sous Linux. En fonction de la famille de machine virtuelle, l’extension installe des pilotes CUDA ou GRID. Lorsque vous installez des pilotes NVIDIA à l’aide de cette extension, vous acceptez les conditions générales du contrat de licence utilisateur final NVIDIA. Pendant le processus d’installation, la machine virtuelle est susceptible de redémarrer pour terminer l’installation du pilote.

Des instructions sur l’installation manuelle des pilotes et les versions actuelles prises en charge sont disponibles. Une extension est également disponible pour installer les pilotes GPU NVIDIA sur des machines virtuelles de gamme N Windows.

Remarque

Quand le démarrage sécurisé est activé, tous les composants de démarrage du système d’exploitation (chargeur de démarrage, noyau, pilotes du noyau) doivent être signés par des éditeurs approuvés (clé approuvée par le système). Le démarrage sécurisé n’est pas pris en charge au moyen d’extensions Windows ou Linux. Pour plus d’informations sur l’installation manuelle de pilotes GPU avec le démarrage sécurisé activé, consultez Configuration des pilotes GPU de série N Azure pour Linux.

Remarque

Les extensions de pilote de GPU ne mettent pas automatiquement à jour le pilote après l'installation de l'extension. Si vous devez passer à une version plus récente du pilote, téléchargez et installez manuellement le pilote ou supprimez et ajoutez à nouveau l'extension.

Prérequis

Système d’exploitation

Cette extension prend en charge les distributions de système d’exploitation suivantes, en fonction de la prise en charge par le pilote de la version spécifique du système d’exploitation :

Distribution Version
Linux : Ubuntu 20.04 LTS
Linux : Red Hat Enterprise Linux 7.9

Remarque

La version prise en charge la plus récente des pilotes CUDA pour les machines virtuelles de la série NC est actuellement la version 470.82.01. Les versions ultérieures des pilotes ne sont pas prises en charge sur les cartes K80 dans la série NC. L’extension étant mise à jour avec cette fin de support pour la série NC, installez les pilotes CUDA manuellement pour les cartes K80 sur la série NC.

Important

Ce document fait référence à une version de Linux qui approche ou est en fin de vie (EOL). Envisagez une mise à jour vers une version plus récente.

Connectivité Internet

L’extension Microsoft Azure pour les pilotes GPU NVIDIA nécessite que la machine virtuelle cible soit connectée à Internet et dispose d’un accès.

Schéma d’extensions

Le JSON suivant illustre le schéma pour l’extension :

{
  "name": "<myExtensionName>",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.6",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

Propriétés

Nom Valeur/Exemple Type de données
apiVersion 2015-06-15 Date
publisher Microsoft.HpcCompute string
type NvidiaGpuDriverLinux string
typeHandlerVersion 1.6 int

Paramètres

Tous les paramètres sont facultatifs. Le comportement par défaut consiste à ne pas mettre à jour le noyau si cela n’est pas requis pour l’installation du pilote et à installer le dernier pilote pris en charge ainsi que le kit de ressources CUDA (le cas échéant).

Nom Description Valeur par défaut Valeurs valides Type de données
updateOS Mettre à jour le noyau, même si cela n’est pas requis pour l’installation du pilote. false true, false boolean
driverVersion NV : version du pilote GRID.
NC/ND : version du kit de ressources CUDA. Les derniers pilotes pour le kit de ressources CUDA choisi sont installés automatiquement.
latest Afficher la liste des versions du pilote prises en charge string
installCUDA Installer le kit de ressources CUDA. S’applique uniquement aux machines virtuelles de la série NC/ND. true true, false boolean

Déploiement

Portail Azure

Vous pouvez déployer des extensions de machine virtuelle Azure NVIDIA dans le portail Azure.

  1. Dans votre navigateur, accédez au portail Azure.

  2. Connectez-vous à la machine sur laquelle vous souhaitez installer le pilote.

  3. Dans le menu de gauche, sélectionnez Extensions.

    Capture d’écran montrant comment sélectionner des extensions dans le menu du portail Azure.

  4. Sélectionnez Ajouter.

    Capture d’écran montrant comment ajouter une extension de machine virtuelle pour la machine virtuelle sélectionnée.

  5. Faites défiler et sélectionnez l’Extension du pilote GPU NVIDIA pour Linux, puis Suivant.

    Capture d’écran montrant la sélection de l’extension de pilote GPU NVIDIA.

  6. Sélectionnez Vérifier + créer, puis Créer. Attendez quelques minutes, le temps nécessaire au déploiement du pilote.

    Capture d’écran montrant la sélection du bouton Vérifier + créer.

  7. Vérifiez que l’extension a été ajoutée à la liste des extensions installées.

    Capture d’écran montrant la nouvelle extension dans la liste des extensions pour la machine virtuelle.

Modèle Azure Resource Manager

Vous pouvez utiliser des modèles Azure Resource Manager pour déployer des extensions de machines virtuelles Azure. Les modèles sont idéaux lorsque vous déployez une ou plusieurs machines virtuelles nécessitant une configuration post-déploiement.

La configuration JSON pour une extension de machine virtuelle peut être imbriquée à l’intérieur de la ressource de machine virtuelle ou placée à la racine ou au niveau supérieur d’un modèle Resource Manager JSON. Le positionnement de la configuration JSON affecte la valeur du nom de la ressource et son type. Pour plus d’informations, consultez Définition du nom et du type des ressources enfants.

L’exemple suivant suppose que l’extension est imbriquée dans la ressource de machine virtuelle. Lorsque la ressource d’extension est imbriquée, le JSON est placé dans l’objet "resources": [] de la machine virtuelle.

{
  "name": "myExtensionName",
  "type": "extensions",
  "location": "[resourceGroup().location]",
  "apiVersion": "2015-06-15",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', myVM)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.6",
    "autoUpgradeMinorVersion": true,
    "settings": {
    }
  }
}

PowerShell

Set-AzVMExtension
    -ResourceGroupName "myResourceGroup" `
    -VMName "myVM" `
    -Location "southcentralus" `
    -Publisher "Microsoft.HpcCompute" `
    -ExtensionName "NvidiaGpuDriverLinux" `
    -ExtensionType "NvidiaGpuDriverLinux" `
    -TypeHandlerVersion 1.6 `
    -SettingString '{ `
	}'

Azure CLI

L’exemple suivant reflète les exemples Resource Manager et PowerShell précédents :

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.6

L’exemple suivant ajoute également deux paramètres personnalisés facultatifs afin d’illustrer l’installation personnalisée du pilote. Plus précisément, il met à jour le noyau du système d’exploitation vers la dernière version et installe un pilote de la version spécifique du kit de ressources CUDA. Là encore, notez que les paramètres --settings sont facultatifs et définis par défaut. La mise à jour du noyau peut accroître la durée d’installation de l’extension. Il se peut également que le choix d’une version spécifique (antérieure) du kit de ressources CUDA ne soit pas toujours compatible avec les noyaux plus récents.

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name NvidiaGpuDriverLinux \
  --publisher Microsoft.HpcCompute \
  --version 1.6 \
  --settings '{ \
    "updateOS": true, \
    "driverVersion": "10.0.130" \
  }'

Dépannage et support technique

Dépanner

Vous pouvez récupérer des données sur l’état des déploiements d’extension à partir du portail Azure et en utilisant Azure PowerShell et Azure CLI. Pour voir l’état du déploiement des extensions pour une machine virtuelle donnée, exécutez la commande suivante :

Get-AzVMExtension -ResourceGroupName myResourceGroup -VMName myVM -Name myExtensionName
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table

La sortie de l’exécution de l’extension est enregistrée dans le fichier suivant. Consultez ce fichier pour suivre l’état de toute installation de longue durée et pour résoudre les éventuels échecs.

/var/log/azure/nvidia-vmext-status

Codes de sortie

Code de sortie Signification Action possible
0 L’opération a réussi
1 Utilisation incorrecte de l’extension Vérifiez le journal de sortie de l’exécution.
10 Les services d’intégration Linux pour Hyper-V et Azure ne sont pas disponibles ou installés Vérifiez la sortie d’lspci.
11 GPU NVIDIA introuvable sur cette taille de machine virtuelle Utilisez une taille de machine virtuelle et un système d’exploitation pris en charge.
12 Offre d’image non prise en charge
13 Taille de machine virtuelle non prise en charge Utilisez une machine virtuelle de série N pour le déploiement.
14 Échec de l’opération Vérifiez le journal de sortie de l’exécution.

Problèmes connus

  1. NvidiaGpuDriverLinux ne parvient pas à installer les pilotes les plus récents GRID 17.x en raison de problèmes de certificat. En attendant qu’Azure règle ce problème, utilisez le pilote GRID 16.5 en passant un paramètre d’exécution à l’extension.
az vm extension set  --resource-group <rg-name> --vm-name <vm-name>  --name NvidiaGpuDriverLinux --publisher Microsoft.HpcCompute --settings "{'driverVersion':'538.46'}"
{
  "name": "NvidiaGpuDriverLinux",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.11",
    "autoUpgradeMinorVersion": true,
    "settings": {
         "driverVersion": "538.46"
    }
  }
}
  1. La version du pilote GRID 17.x est incompatible sur NVv3 (NVIDIA Tesla M60). Les pilotes GRID jusqu’à la version 16.5 sont pris en charge. NvidiaGpuDriverLinux installe les derniers pilotes incompatibles sur la référence SKU NVv3. Utilisez plutôt les paramètres d’exécution suivants pour forcer l’extension à installer une version antérieure du pilote. Pour plus d’informations sur les versions de pilotes, consultez Ressources GPU NVIDIA.
az vm extension set  --resource-group <rg-name> --vm-name <vm-name>  --name NvidiaGpuDriverLinux --publisher Microsoft.HpcCompute --settings "{'driverVersion':'538.46'}"
{
  "name": "NvidiaGpuDriverLinux",
  "type": "extensions",
  "apiVersion": "2015-06-15",
  "location": "<location>",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', <myVM>)]"
  ],
  "properties": {
    "publisher": "Microsoft.HpcCompute",
    "type": "NvidiaGpuDriverLinux",
    "typeHandlerVersion": "1.11",
    "autoUpgradeMinorVersion": true,
    "settings": {
         "driverVersion": "538.46"
    }
  }
}

Support

Si vous avez besoin d’une aide supplémentaire à quelque étape que ce soit dans cet article, vous pouvez contacter les experts Azure sur les forums MSDN Azure et Stack Overflow. Vous pouvez également signaler un incident au support Azure. Accédez à Support Azure, puis sélectionnez Obtenir de l’aide. Pour plus d’informations sur l’utilisation du support Azure, lisez les Questions fréquentes (FAQ) sur le support Azure.

Étapes suivantes