Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 des pilotes GPU NVIDIA sur Windows machines virtuelles de série N.
Remarque
Cette extension continuera d’utiliser v18.x jusqu’à ce que nous terminions le déploiement v20.x dans Q3 CY2026.
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 à l’aide d’extensions Windows ou Linux. Pour plus d’informations sur l’installation manuelle des pilotes GPU avec démarrage sécurisé activé, consultez Azure configuration du pilote GPU de série N 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.
Remarque
Essayez l’assistance de machine virtuelle pour accélérer les diagnostics. Nous vous recommandons d’exécuter Assistance VM pour Windows ou Assistance VM pour Linux. Ces outils de diagnostic basés sur des scripts vous aident à identifier les problèmes courants qui affectent l’agent invité de machine virtuelle Azure et l’intégrité globale de la machine virtuelle.
Si vous rencontrez des problèmes de performances avec des machines virtuelles, avant de contacter le support technique, exécutez ces outils.
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 :
| Chauffeur | Linux : Ubuntu | Linux : Red Hat Enterprise Linux |
|---|---|---|
| CUDA | 20.04 LTS | 7.9 |
| GRID | 22.04 LTS 24.04 LTS |
8,2 |
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 |
| éditeur | Microsoft. HpcCompute | chaîne |
| type | NvidiaGpuDriverLinux | chaîne |
| 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 | Descriptif | Valeur par défaut | Valeurs valides | Type de données |
|---|---|---|---|---|
| mettre à jour le système d'exploitation | Mettre à jour le noyau, même si cela n’est pas requis pour l’installation du pilote. | faux | vrai, faux | booléen |
| driverVersion | NV : version du pilote GRID. NC/ND : version du kit de ressources CUDA. Les derniers pilotes pour le CUDA choisi sont installés automatiquement. |
le plus récent | Liste des versions de pilote prises en charge | chaîne |
| installCUDA | Installer le kit de ressources CUDA. S’applique uniquement aux machines virtuelles de la série NC/ND. | vrai | vrai, faux | booléen |
Déploiement
portail Azure
Vous pouvez déployer Azure extensions de machine virtuelle NVIDIA dans le portail Azure.
Dans un 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 pour trouver et sélectionner l'extension du pilote GPU NVIDIA, puis sélectionnez 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 Azure Resource Manager modèles pour déployer des extensions de machine virtuelle 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 d’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 JSON Resource Manager. Le positionnement de la configuration JSON affecte la valeur du nom de la ressource et son type. Pour plus d’informations, consultez Définir le nom et le 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 met en miroir 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 à titre d'exemple pour une installation de pilote non par défaut. 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épannage
Vous pouvez récupérer des données sur l’état des déploiements d’extensions à partir du portail Azure et à l’aide de Azure PowerShell et du 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 log d'exécution. |
| 10 | Services d’intégration Linux pour Hyper-V et Azure non disponibles ou installés | Vérifiez la sortie d’lspci. |
| 11 | GPU NVIDIA introuvable sur cette taille de machine virtuelle | Utilisez une taille de VM et un système d'exploitation compatible. |
| 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 log d'exécution. |
Problèmes connus
- Le pilote GRID 16.x et 17.x rencontrent des problèmes d’installation sur Azure noyau 6.11. Nvidia travaille à résoudre ce problème, en attendant, rétrograder le noyau Azure à la version 6.8 en suivant ces étapes. Essayez de réinstaller les pilotes manuellement ou à l’aide d’une extension après avoir rétrogradé le noyau sur 6.8.
// Get the installed kernel. If kernel 6.11 is installed, downgrade it to 6.8.
uname -a
// Install kernel 6.8. Note that kernel 6.11 is not supported.
$ sudo apt install linux-image-6.8.0-1015-azure
// Get the list of installed kernels.
dpkg --list | egrep -i --color 'linux-image|linux-headers|linux-modules' | awk '{ print $2 }'
// Uninstall any 6.11 kernels.
sudo apt purge linux-headers-6.11.0-1013-azure linux-image-6.11.0-1013-azure linux-modules-6.11.0-1013-azure
// Run the following command to ensure only 6.8 images, headers, and modules are installed and no other versions are present.
dpkg --list | egrep -i --color 'linux-image|linux-headers|linux-modules' | awk '{ print $2 }'
// Results from the previous command:
linux-headers-6.8.0-1015-azure
linux-image-6.8.0-1015-azure
linux-modules-6.8.0-1015-azure
// Open the grub settings and modify the GRUB_DEFAULT="0" to GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-1015-azure".
$ sudo vim /etc/default/grub
// The grub file will look like the following:
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-1015-azure"
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
///////////////////
// Update GRUB and reboot.
$ sudo update-grub && sudo update-grub2
$ sudo reboot
// Reinstall the driver after reboot.
-
NvidiaGpuDriverLinuxinstalle actuellement les derniers17.5pilotes GRID, lesquels ont actuellement des problèmes avec CUDA sur la série A10. NVIDIA travaille à la résolution de ce problème, en attendant, utilisez le pilote16.5GRID 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':'535.161'}"
{
"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": "535.161"
}
}
}
- La version du pilote GRID
17.xest incompatible sur NVv3 (NVIDIA Tesla M60). les pilotes grid jusqu’à la version16.5sont pris en charge.NvidiaGpuDriverLinuxinstalle les derniers pilotes qui sont incompatibles avec la 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 du pilote, consultez ressources GPU NVIDIA.
az vm extension set --resource-group <rg-name> --vm-name <vm-name> --name NvidiaGpuDriverLinux --publisher Microsoft.HpcCompute --settings "{'driverVersion':'535.161'}"
{
"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": "535.161"
}
}
}
- Le pilote Linux Grid 17.5 a un bogue dans lequel il a un impact sur la charge de travail associée à CUDA. La signature d’erreur implique généralement des appareils CUDA indisponibles. Bien que Azure travaille à résoudre ce problème, utilisez le pilote GRID 16.5 pour continuer à exécuter votre charge de travail.
Soutien
Si vous avez besoin d’aide supplémentaire à tout moment dans cet article, contactez les experts Azure sur les forums MSDN Azure et Stack Overflow. Vous pouvez également déposer un incident support Azure. Accédez à support Azure et sélectionnez Obtenir du support. Pour plus d’informations sur l’utilisation de support Azure, lisez la faq 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é.