Delen via


GPU's voorbereiden voor Azure Local (preview)

Van toepassing op: Azure Local 2311.2 en hoger

In dit artikel wordt beschreven hoe u gpu's (grafische verwerkingseenheden) voorbereidt op uw lokale Azure-exemplaar voor rekenintensieve workloads die worden uitgevoerd op virtuele Arc-machines (VM's) en AKS die zijn ingeschakeld door Azure Arc. GPU's worden gebruikt voor rekenintensieve workloads, zoals machine learning en deep learning.

Belangrijk

Deze functie is momenteel beschikbaar als PREVIEW-versie. Raadpleeg de Aanvullende voorwaarden voor Microsoft Azure-previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.

GPU's koppelen in Azure Local

U kunt uw GPU's op twee manieren koppelen voor Azure Local:

  • Discrete apparaattoewijzing (DDA): hiermee kunt u een fysieke GPU toewijzen aan uw workload. In een DDA-implementatie worden gevirtualiseerde workloads uitgevoerd op het systeemeigen stuurprogramma en hebben ze doorgaans volledige toegang tot de functionaliteit van de GPU. DDA biedt het hoogste niveau van app-compatibiliteit en mogelijke prestaties.

  • GPU Partitionering (GPU-P): hiermee kunt u een GPU delen met meerdere workloads door de GPU te splitsen in toegewezen breukpartities.

Houd rekening met de volgende functionaliteit en ondersteuningsverschillen tussen de twee opties voor het gebruik van uw GPU's:

Beschrijving Discrete apparaattoewijzing GPU Partitioneren
GPU-resourcemodel Volledig apparaat Even gepartitioneerd apparaat
VM-dichtheid Laag (één GPU tot één VM) Hoog (één GPU naar veel VM's)
App-compatibiliteit Alle GPU-mogelijkheden van de leverancier (DX 12, OpenGL, CUDA) Alle GPU-mogelijkheden van de leverancier (DX 12, OpenGL, CUDA)
GPU VRAM Maximaal VRAM ondersteund door de GPU Maximaal VRAM ondersteund door de GPU per partitie
GPU-stuurprogramma in gast GPU-stuurprogramma voor leveranciers (NVIDIA) GPU-stuurprogramma voor leveranciers (NVIDIA)

Ondersteunde GPU-modellen

Zie Azure Local Solutions en selecteer GPU-ondersteuning in het linkermenu voor opties voor de volledige lijst met ondersteunde oplossingen en GPU's die beschikbaar zijn.

NVIDIA ondersteunt hun workloads afzonderlijk met hun virtuele GPU-software. Zie Microsoft Azure Local - Ondersteunde NVIDIA GPU's en gevalideerde serverplatforms voor meer informatie.

Zie GPU's voor AKS voor AKS voor Arc voor AKS.

De volgende GPU-modellen worden ondersteund met zowel DDA als GPU-P voor Arc-VM-workloads:

  • NVIDIA A2
  • NVIDIA A16

Deze aanvullende GPU-modellen worden ondersteund met GPU-P (alleen) voor Arc-VM-workloads:

  • NVIDIA A10
  • NVIDIA A40
  • NVIDIA L4
  • NVIDIA L40
  • NVIDIA L40S

Hostvereisten

Uw lokale Azure-host moet voldoen aan de volgende vereisten:

  • Uw systeem moet ondersteuning bieden voor een lokale Azure-oplossing met GPU-ondersteuning. Als u door uw opties wilt bladeren, raadpleegt u de lokale Catalogus van Azure.

  • U hebt toegang tot Azure Local.

  • U moet een homogene configuratie maken voor GPU's op alle computers in uw systeem. Een homogene configuratie bestaat uit het installeren van hetzelfde merk en model van GPU.

  • Voor GPU-P moet u ervoor zorgen dat de virtualisatieondersteuning en SR-IOV zijn ingeschakeld in het BIOS van elke machine in het systeem. Neem contact op met uw hardwareleverancier als u de juiste instelling niet in uw BIOS kunt identificeren.

GPU-stuurprogramma's voorbereiden op elke host

Het proces voor het voorbereiden en installeren van GPU-stuurprogramma's voor elke machine verschilt enigszins tussen DDA en GPU-P. Volg het toepasselijke proces voor uw situatie.

GPU's zoeken op elke host

Controleer eerst of er geen stuurprogramma is geïnstalleerd voor elke computer. Als er een hoststuurprogramma is geïnstalleerd, verwijdert u het hoststuurprogramma en start u de computer opnieuw op.

Nadat u het hoststuurprogramma hebt verwijderd of als u geen stuurprogramma hebt geïnstalleerd, voert u PowerShell uit als beheerder met de volgende opdracht:

Get-PnpDevice -Status Error | fl FriendlyName, ClusterId

U ziet dat de GPU-apparaten in een foutstatus worden weergegeven, zoals 3D Video Controller wordt weergegeven in de voorbeelduitvoer met de beschrijvende naam en exemplaar-id van de GPU:

[ASRR1N26R02U46A]: PS C:\Users\HCIDeploymentUser\Documents> Get-PnpDevice - Status Error

Status		Class			FriendlyName
------		-----			------------
Error					SD Host Controller
Error					3D Video Controller
Error					3D Video Controller
Error		USB			Unknown USB Device (Device Descriptor Request Failed)

[ASRR1N26R02U46A]: PS C:\Users\HCIDeploymentUser\Documents> Get-PnpDevice - Status Error | f1 InstanceId

InstanceId : PCI\VEN_8086&DEV_18DB&SUBSYS_7208086REV_11\3&11583659&0&E0

InstanceId : PCI\VEN_10DE&DEV_25B6&SUBSYS_157E10DE&REV_A1\4&23AD3A43&0&0010

InstanceId : PCI\VEN_10DE&DEV_25B6&SUBSYS_157E10DE&REV_A1\4&17F8422A&0&0010

InstanceId : USB\VID_0000&PID_0002\S&E492A46&0&2

DDA gebruiken

Volg dit proces als u DDA gebruikt:

1. GPU's uitschakelen en ontkoppelen van de host

Wanneer u voor DDA het hoststuurprogramma verwijdert of een nieuwe lokale Azure-installatie hebt ingesteld, krijgt de fysieke GPU een foutstatus. U moet alle GPU-apparaten ontkoppelen om door te gaan. U kunt Apparaatbeheer of PowerShell gebruiken om de GPU uit te schakelen en ontkoppelen met behulp van de ClusterID verkregen in de vorige stap.

$id1 = "GPU_instance_ID"
Disable-PnpDevice -ClusterId $id1 -Confirm:$false
Dismount-VMHostAssignableDevice -ClusterPath $id1 -Force

Controleer of de GPU's correct zijn ontkoppeld van de hostcomputer. De GPU's hebben nu de Unknown status:

Get-PnpDevice -Status Unknown | fl FriendlyName, ClusterId

Herhaal dit proces voor elke computer in uw systeem om de GPU's voor te bereiden.

2. Download en installeer het beperkingsstuurprogramma

De software kan onderdelen bevatten die zijn ontwikkeld en eigendom zijn van NVIDIA Corporation of haar licentiegevers. Het gebruik van deze onderdelen valt onder de LICENTIEovereenkomst van NVIDIA-eindgebruikers.

Raadpleeg de NVIDIA-documentatie om het toepasselijke NVIDIA-beperkingsstuurprogramma te downloaden. Nadat u het stuurprogramma hebt gedownload, vouwt u het archief uit en installeert u het beperkingsstuurprogramma op elke hostcomputer. Gebruik het volgende PowerShell-script om het beperkingsstuurprogramma te downloaden en uit te pakken:

Invoke-WebRequest -Uri "https://docs.nvidia.com/datacenter/tesla/gpu-passthrough/nvidia_azure_stack_inf_v2022.10.13_public.zip" -OutFile "nvidia_azure_stack_inf_v2022.10.13_public.zip"
mkdir nvidia-mitigation-driver
Expand-Archive .\nvidia_azure_stack_inf_v2022.10.13_public.zip .\nvidia-mitigation-driver

Zodra de stuurprogrammabestanden voor risicobeperking zijn geëxtraheerd, zoekt u de versie voor het juiste model van uw GPU en installeert u deze. Als u bijvoorbeeld een NVIDIA A2-beperkingsstuurprogramma installeert, voert u het volgende uit:

pnputil /add-driver nvidia_azure_stack_A2_base.inf /install /force

Voer de volgende opdracht uit om de installatie van deze stuurprogramma's te bevestigen:

pnputil /enum-devices OR pnputil /scan-devices

U moet de correct geïdentificeerde GPU's kunnen zien in Get-PnpDevice:

Get-PnpDevice -Class Display | fl FriendlyName, ClusterId

Herhaal de bovenstaande stappen voor elke host in azure Local.

GPU-P gebruiken

Volg dit proces als u GPU-P gebruikt:

Het hoststuurprogramma downloaden en installeren

GPU-P vereist stuurprogramma's op hostniveau die verschillen van DDA. Voor NVIDIA GPU's hebt u een STUURPROGRAMMA voor NVIDIA vGPU-softwareafbeeldingen nodig op elke host en op elke VM die GPU-P gebruikt. Zie de nieuwste versie van nvidia vGPU-documentatie en details over licenties in de gebruikershandleiding voor clientlicenties voor meer informatie.

Nadat u de GPU's hebt geïdentificeerd als 3D Video Controller op uw hostcomputer, downloadt u het vGPU-stuurprogramma van de host. Via uw NVIDIA GRID-licentie moet u het juiste hoststuurprogramma kunnen verkrijgen .zip bestand.

U moet de volgende map ophalen en verplaatsen naar uw hostcomputer: \vGPU_<Your_vGPU_version_GA_Azure_Stack_HCI_Host_Drivers>

Navigeer naar \vGPU_<Your_vGPU_version>_GA_Azure_Stack_HCI_Host_Drivers\Display.Driver en installeer het stuurprogramma.

pnputil /add-driver .\nvgridswhci.inf /install /force

Voer de volgende opdracht uit om de installatie van deze stuurprogramma's te bevestigen:

pnputil /enum-devices

U moet de correct geïdentificeerde GPU's kunnen zien in Get-PnpDevice:

Get-PnpDevice -Class Display | fl FriendlyName, ClusterId

U kunt ook de NVIDIA System Management Interface nvidia-smi uitvoeren om de GPU's op de hostcomputer als volgt weer te geven:

nvidia-smi

Als het stuurprogramma correct is geïnstalleerd, ziet u een uitvoer die lijkt op het volgende voorbeeld:

Wed Nov 30 15:22:36 2022
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 527.27       Driver Version: 527.27       CUDA Version: N/A      |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA A2          WDDM  | 00000000:65:00.0 Off |                    0 |
|  0%   24C    P8     5W /  60W |  15192MiB / 15356MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA A2          WDDM  | 00000000:66:00.0 Off |                    0 |
|  0%   24C    P8     5W /  60W |  15192MiB / 15356MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
 
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

Aantal GPU-partities configureren

Volg deze stappen om het aantal GPU-partities in PowerShell te configureren:

Notitie

Wanneer u PowerShell gebruikt, moet u er handmatig voor zorgen dat de GPU-configuratie homogeen is voor alle computers in uw Lokale Azure-computer.

  1. Maak verbinding met de computer waarvan u het aantal GPU-partities wilt configureren.

  2. Voer de Get-VMHostPartitionableGpu opdracht uit en raadpleeg de waarden Name en ValidPartitionCounts .

  3. Voer de volgende opdracht uit om het aantal partities te configureren. Vervang GPU-name door de naamwaarde en partition-count door een van de ondersteunde aantallen van de waarde ValidPartitionCounts :

    Set-VMHostPartitionableGpu -Name "<GPU-name>" -PartitionCount <partition-count>
    

    Met de volgende opdracht wordt bijvoorbeeld het aantal partities geconfigureerd op 4:

    PS C:\Users> Set-VMHostPartitionableGpu -Name "\\?\PCI#VEN_10DE&DEV_25B6&SUBSYS_157E10DE&REV_A1#4&18416dc3&0&0000#{064092b3-625e-43bf-9eb5-dc845897dd59}" -PartitionCount 4
    

    U kunt de opdracht Get-VMHostPartitionableGpu | FL Name,ValidPartitionCounts,PartitionCount opnieuw uitvoeren om te controleren of het aantal partities is ingesteld op 4.

    Hier volgt een voorbeelduitvoer:

    PS C:\Users> Get-VMHostPartitionableGpu | FL Name,ValidPartitionCounts,PartitionCount
    
    Name                    : \\?\PCI#VEN_10DE&DEV_25B6&SUBSYS_157E10DE&REV_A1#4&18416dc3&0&0000#{064092b3-625e-43bf-9eb5-dc845897dd59}
    ValidPartitionCounts    : {16, 8, 4, 2...}
    PartitionCount          : 4
    
    Name                    : \\?\PCI#VEN_10DE&DEV_25B6&SUBSYS_157E10DE&REV_A1#4&5906f5e&0&0010#{064092b3-625e-43bf-9eb5-dc845897dd59}
    ValidPartitionCounts    : {16, 8, 4, 2...}
    PartitionCount          : 4
    
  4. Als u de configuratie homogeen wilt houden, herhaalt u de configuratiestappen voor het aantal partities op elke computer in uw systeem.

Gastvereisten

GPU-beheer wordt ondersteund voor de volgende Arc VM-workloads:

Volgende stappen