Extensie van NVIDIA GPU-stuurprogramma voor Linux

Met deze extensie worden NVIDIA GPU-stuurprogramma's geïnstalleerd op virtuele Linux-machines uit de N-serie (VM's). Afhankelijk van de VM-familie installeert de extensie CUDA- of GRID-stuurprogramma's. Wanneer u NVIDIA-stuurprogramma's installeert met behulp van deze extensie, gaat u akkoord met de voorwaarden van de licentieovereenkomst voor NVIDIA-eindgebruikers. Tijdens het installatieproces kan de virtuele machine opnieuw worden opgestart om de installatie van het stuurprogramma te voltooien.

Instructies voor handmatige installatie van de stuurprogramma's en de huidige ondersteunde versies zijn beschikbaar. Er is ook een extensie beschikbaar om NVIDIA GPU-stuurprogramma's te installeren op Windows VM's uit de N-serie.

Notitie

Deze extensie blijft v18.x gebruiken totdat de v20.x-implementatie in Q3 CY2026 is voltooid.

Notitie

Als Beveiligd opstarten is ingeschakeld, moeten alle opstartonderdelen van het besturingssysteem (opstartlaadprogramma, kernel, kernelstuurprogramma's) worden ondertekend door vertrouwde uitgevers (sleutel die wordt vertrouwd door het systeem). Beveiligd opstarten wordt niet ondersteund met Windows- of Linux-extensies. Zie Azure GPU-stuurprogramma instellen voor Linux voor meer informatie over het handmatig installeren van GPU-stuurprogramma's waarvoor Beveiligd opstarten is ingeschakeld.

Notitie

De EXTENSIES van het GPU-stuurprogramma werken het stuurprogramma niet automatisch bij nadat de extensie is geïnstalleerd. Als u naar een nieuwere stuurprogrammaversie wilt gaan, downloadt en installeert u het stuurprogramma handmatig of verwijdert u de extensie en voegt u de extensie opnieuw toe.

Notitie

Probeer VM-hulp voor snellere diagnostische gegevens. U wordt aangeraden VM-hulp uit te voeren voor Windows of VM-hulp voor Linux. Met deze diagnostische hulpprogramma's op basis van scripts kunt u veelvoorkomende problemen identificeren die van invloed zijn op de Azure VM-gastagent en de algehele VM-status.

Als u prestatieproblemen ondervindt met virtuele machines, voert u deze hulpprogramma's uit voordat u contact op neemt met de ondersteuning.

Vereiste voorwaarden

Besturingssysteem

Deze extensie ondersteunt de volgende distributies van het besturingssysteem, afhankelijk van stuurprogrammaondersteuning voor de specifieke versie van het besturingssysteem:

Bestuurder Linux: Ubuntu Linux: Red Hat Enterprise Linux
CUDA 20.04 LTS 7.9
NETWERK 22.04 LTS
24.04 LTS
8.2

Notitie

De meest recente ondersteunde CUDA-stuurprogramma's voor VM's uit de NC-serie zijn momenteel 470.82.01. Latere stuurprogrammaversies worden niet ondersteund op de K80-kaarten in NC. Terwijl de extensie wordt bijgewerkt met dit einde van ondersteuning voor NC, installeert u CUDA-stuurprogramma's handmatig voor K80-kaarten in de NC-serie.

Belangrijk

Dit document verwijst naar een releaseversie van Linux die bijna of aan het einde van de levensduur (EOL) nadert. Overweeg om bij te werken naar een recentere versie.

Verbinding met internet

De Microsoft Azure-extensie voor NVIDIA GPU-stuurprogramma's vereist dat de doel-VM is verbonden met internet en toegang heeft.

Extensieschema

In de volgende JSON ziet u het schema voor de extensie:

{
  "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": {
    }
  }
}

Eigenschappen

Naam Waarde/voorbeeld Gegevenstype
apiVersion 2015-06-15 datum
uitgever Microsoft. HpcCompute touw
soort NvidiaGpuDriverLinux touw
typehandler-versie 1.6 int (integer)

Instellingen

Alle instellingen zijn optioneel. Het standaardgedrag is om de kernel niet bij te werken als dit niet vereist is voor de installatie van stuurprogramma's en het installeren van het meest recente ondersteunde stuurprogramma en de CUDA-toolkit (indien van toepassing).

Naam Omschrijving Standaardwaarde Geldige waarden Gegevenstype
OS bijwerken Werk de kernel bij, zelfs als dit niet vereist is voor de installatie van stuurprogramma's. onwaar waar, onwaar booleaan
stuurprogrammaVersie NV: GRID-stuurprogrammaversie.
NC/ND: CUDA Toolkit-versie. De meest recente stuurprogramma's voor de gekozen CUDA worden automatisch geïnstalleerd.
nieuwste Lijst van ondersteunde stuurprogrammaversies touw
installCUDA Installeer de CUDA-toolkit. Alleen relevant voor NC/ND-serie virtuele machines. waar waar, onwaar booleaan

Implementatie

Azure portal

U kunt Azure NVIDIA VM-extensies implementeren in de Azure-portal.

  1. Ga in een browser naar de Azure portal.

  2. Ga naar de virtuele machine waarop u het stuurprogramma wilt installeren.

  3. Selecteer Extensies in het linkermenu.

    Schermafbeelding met het selecteren van extensies in het menu van de Azure portal.

  4. Selecteer Toevoegen.

    Schermopname van het toevoegen van een V M-extensie voor de geselecteerde V M.

  5. Scroll om NVIDIA GPU Driver Extension te zoeken en selecteren, en selecteer vervolgens Volgende.

    Schermopname van het selecteren van NVIDIA G P U Driver Extension.

  6. Selecteer Beoordelen en maken en selecteer Maken. Wacht enkele minuten totdat het stuurprogramma is geïmplementeerd.

    Schermopname van het selecteren van de knop Beoordelen en maken.

  7. Controleer of de extensie is toegevoegd aan de lijst met geïnstalleerde extensies.

    Schermopname van de nieuwe extensie in de lijst met extensies voor de V M.

Azure Resource Manager-sjabloon

U kunt Azure Resource Manager sjablonen gebruiken om Azure VM-extensies te implementeren. Sjablonen zijn ideaal wanneer u een of meer virtuele machines implementeert waarvoor configuratie na de implementatie is vereist.

De JSON-configuratie voor een virtuele-machineextensie kan worden genest in de virtuele-machineresource of op het hoofdniveau van een Resource Manager JSON-sjabloon geplaatst worden. De plaatsing van de JSON-configuratie is van invloed op de waarde van de resourcenaam en het type. Voor meer informatie, zie Set name and type for child resources.

In het volgende voorbeeld wordt ervan uitgegaan dat de extensie is genest binnen de resource van de virtuele machine. Wanneer de extensiebron genest is, wordt de JSON in het "resources": [] object van de virtuele machine geplaatst.

{
  "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

In het volgende voorbeeld worden de voorgaande Resource Manager en PowerShell-voorbeelden gespiegeld:

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

In het volgende voorbeeld worden ook twee optionele aangepaste instellingen toegevoegd als voorbeeld voor installatie van niet-standaardstuurprogramma's. In het bijzonder wordt de besturingssysteemkernel bijgewerkt naar de nieuwste versie en wordt een specifiek stuurprogramma voor de CUDA-toolkit-versie geïnstalleerd. Let nogmaals op: de --settings opties zijn optioneel en standaard. Het bijwerken van de kernel kan de installatietijden van de extensie verhogen. Het kiezen van een specifieke (oudere) CUDA Toolkit-versie is mogelijk niet altijd compatibel met nieuwere kernels.

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" \
  }'

Ondersteuning en probleemoplossing

Problemen oplossen

U kunt gegevens over de status van extensie-implementaties ophalen uit de Azure-portal en met behulp van Azure PowerShell en de Azure CLI. Voer de volgende opdracht uit om de implementatiestatus van extensies voor een bepaalde VIRTUELE machine te zien:

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

Uitvoering van de extensie wordt vastgelegd in het volgende bestand. Raadpleeg dit bestand om de status van een langlopende installatie bij te houden en om eventuele fouten op te lossen.

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

Afsluitcodes

Afsluitcode Betekenis Mogelijke actie
0 De bewerking is voltooid
1 Onjuist gebruik van extensie Controleer het uitvoerlogboek van de uitvoering.
10 Linux Integration Services voor Hyper-V en Azure niet beschikbaar of geïnstalleerd Controleer de uitvoer van lspci.
11 NVIDIA GPU is niet gevonden op deze VM-grootte Gebruik een ondersteunde VM-grootte en een ondersteund besturingssysteem.
12 Afbeeldingsaanbieding wordt niet ondersteund
13 VM-grootte wordt niet ondersteund Gebruik een VM uit de N-serie om te implementeren.
14 Bewerking mislukt Controleer het uitvoerlogboek van de uitvoering.

Bekende problemen

  1. GRID-stuurprogramma 16.x en 17.x ondervinden installatieproblemen op Azure kernel 6.11. Nvidia werkt aan het oplossen van dit probleem, ondertussen, downgrade de Azure kernel naar 6.8 door deze stappen te volgen. Probeer de stuurprogramma's handmatig opnieuw te installeren of gebruik een extensie na het downgraden van de kernel naar 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.
  1. NvidiaGpuDriverLinux installeert momenteel de nieuwste 17.5 GRID-stuurprogramma's, die problemen ondervinden met CUDA op A10-serie. NVIDIA werkt aan het oplossen van dit probleem. Gebruik ondertussen grid-stuurprogramma 16.5 door een runtime-instelling door te geven aan de extensie.
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"
    }
  }
}
  1. GRID Driver versie 17.x is onverenigbaar met NVv3 (NVIDIA Tesla M60). GRID-stuurprogramma's tot versie 16.5 worden ondersteund. NvidiaGpuDriverLinux installeert de meest recente stuurprogramma's die niet compatibel zijn op NVv3 SKU. Gebruik in plaats daarvan de volgende runtime-instellingen om af te dwingen dat de extensie een oudere versie van het stuurprogramma installeert. Zie NVIDIA GPU-resources voor meer informatie over stuurprogrammaversies.
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"
    }
  }
}
  1. Grid 17.5 Linux-stuurprogramma heeft een bug waarbij dit van invloed is op CUDA-gerelateerde werkbelasting. Fouthandtekening omvat doorgaans CUDA-apparaten die niet beschikbaar zijn. Terwijl Azure dit probleem probeert op te lossen, gebruikt u GRID-stuurprogramma 16.5 om door te gaan met het uitvoeren van uw workload.

Ondersteuning

Als u op enig moment in dit artikel meer hulp nodig hebt, neemt u contact op met de Azure experts op de MSDN-Azure en Stack Overflow-forums. U kunt ook een ondersteuning voor Azure incident indienen. Ga naar ondersteuning voor Azure en selecteer Ondersteuning krijgen. Lees de ondersteuning voor Azure faq voor informatie over het gebruik van ondersteuning voor Azure.

Volgende stappen