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.
Dans votre navigateur, accédez au portail Azure.
Connectez-vous à la machine sur laquelle vous souhaitez installer le pilote.
Dans le menu de gauche, sélectionnez Extensions.
Sélectionnez Ajouter.
Faites défiler et sélectionnez l’Extension du pilote GPU NVIDIA pour Linux, puis Suivant.
Sélectionnez Vérifier + créer, puis Créer. Attendez quelques minutes, le temps nécessaire au déploiement du pilote.
Vérifiez que l’extension a été ajoutée à la liste des extensions installées.
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
NvidiaGpuDriverLinux
ne parvient pas à installer les pilotes les plus récents GRID17.x
en raison de problèmes de certificat. En attendant qu’Azure règle ce problème, utilisez le pilote GRID16.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"
}
}
}
- La version du pilote GRID
17.x
est incompatible sur NVv3 (NVIDIA Tesla M60). Les pilotes GRID jusqu’à la version16.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
- Pour plus d’informations sur les extensions, consultez la page Extensions et fonctionnalités de machine virtuelle pour Linux.
- Pour plus d’informations sur les machines virtuelles de gamme N, consultez la page Tailles de machine virtuelle à GPU optimisé.