Bagikan melalui


Menyiapkan GPU untuk Azure Local

Berlaku untuk: Azure Local 2311.2 dan yang lebih baru

Artikel ini menjelaskan cara menyiapkan unit pemrosesan grafis (GPU) pada instans Azure Local Anda untuk beban kerja intensif komputasi yang berjalan pada komputer virtual (VM) Arc dan AKS yang diaktifkan oleh Azure Arc. GPU digunakan untuk beban kerja intensif komputasi seperti pembelajaran mesin dan pembelajaran mendalam.

Memasang GPU di Azure Lokal

Anda dapat melampirkan GPU Anda dengan salah satu dari dua cara untuk Azure Local:

  • Penugasan Perangkat Diskrit (DDA) - memungkinkan Anda mendedikasikan GPU fisik ke beban kerja Anda. Dalam penyebaran DDA, beban kerja virtual berjalan pada driver asli dan biasanya memiliki akses penuh ke fungsionalitas GPU. DDA menawarkan tingkat kompatibilitas aplikasi tertinggi dan performa potensial.

  • Pemartisian GPU (GPU-P) - memungkinkan Anda berbagi GPU dengan beberapa beban kerja dengan membagi GPU menjadi partisi fraksional khusus.

Pertimbangkan fungsionalitas dan perbedaan dukungan berikut antara dua opsi penggunaan GPU Anda:

Deskripsi Penugasan Perangkat Diskrit Pemartisian GPU
Model sumber daya GPU Seluruh perangkat Perangkat yang dipartisi secara sama rata
Kepadatan VM Rendah (satu GPU ke satu VM) Tinggi (satu GPU untuk beberapa VM)
Kompatibilitas aplikasi Semua kemampuan GPU yang disediakan oleh vendor (DX 12, OpenGL, CUDA) Semua kemampuan GPU yang disediakan oleh vendor (DX 12, OpenGL, CUDA)
GPU VRAM Jumlah maksimal VRAM yang didukung oleh GPU Sebanyak-banyaknya VRAM yang didukung oleh GPU per partisi
Driver GPU di sistem tamu Vendor driver GPU (NVIDIA) Pengemudi untuk vendor GPU (NVIDIA)

Model GPU yang didukung

Untuk melihat daftar lengkap solusi dan GPU yang didukung yang tersedia, lihat Solusi Lokal Azure dan pilih dukungan GPU di menu sebelah kiri untuk opsi.

NVIDIA mendukung beban kerja mereka secara terpisah dengan perangkat lunak GPU virtual mereka. Untuk informasi selengkapnya, lihat Microsoft Azure Local - GPU NVIDIA yang didukung dan Platform Server Tervalidasi.

Untuk beban kerja AKS, lihat GPU untuk AKS di Arc.

Model GPU berikut didukung menggunakan DDA dan GPU-P untuk beban kerja VM Arc:

  • NVIDIA A2
  • NVIDIA A16

Model GPU tambahan ini didukung menggunakan GPU-P (hanya) untuk beban kerja VM Arc:

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

Persyaratan host

Host Lokal Azure Anda harus memenuhi persyaratan berikut:

  • Sistem Anda harus mendukung solusi Azure Local dengan dukungan GPU. Untuk menelusuri opsi Anda, lihat Katalog Lokal Azure.

  • Anda memiliki akses ke Azure Local.

  • Anda harus membuat konfigurasi homogen untuk GPU di semua komputer dalam sistem Anda. Konfigurasi homogen terdiri dari menginstal pembuatan dan model GPU yang sama.

  • Untuk GPU-P, pastikan bahwa dukungan virtualisasi dan SR-IOV diaktifkan di BIOS setiap komputer dalam sistem. Hubungi vendor perangkat keras Anda jika Anda tidak dapat mengidentifikasi pengaturan yang benar di BIOS Anda.

Menyiapkan driver GPU pada setiap host

Proses untuk menyiapkan dan menginstal driver GPU untuk setiap komputer agak berbeda antara DDA dan GPU-P. Ikuti proses yang berlaku untuk situasi Anda.

Temukan GPU di setiap host

Pertama, pastikan tidak ada driver yang diinstal untuk setiap komputer. Jika ada driver host yang terinstal, hapus instalan driver host dan mulai ulang komputer.

Setelah Anda menghapus pengandar host atau jika Anda tidak menginstal driver apa pun, jalankan PowerShell sebagai administrator dengan perintah berikut:

Get-PnpDevice -Status Error | fl FriendlyName, ClusterId

Anda akan melihat perangkat GPU muncul dalam status kesalahan seperti 3D Video Controller yang ditunjukkan dalam contoh output yang mencantumkan nama yang mudah diingat dan ID instans 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

Menggunakan DDA

Ikuti proses ini jika menggunakan DDA:

1. Nonaktifkan dan lepas GPU dari host

Untuk DDA, ketika Anda menghapus driver host atau memiliki penyiapan Azure Lokal yang baru, GPU fisik masuk ke status kesalahan. Anda harus melepas semua perangkat GPU untuk melanjutkan. Anda dapat menggunakan Device Manager atau PowerShell untuk menonaktifkan dan melepas pasang GPU dengan menggunakan ClusterID yang diperoleh pada langkah sebelumnya.

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

Konfirmasikan bahwa GPU dilepas dengan benar dari komputer host. GPU sekarang akan dalam keadaan Unknown :

Get-PnpDevice -Status Unknown | fl FriendlyName, ClusterId

Ulangi proses ini untuk setiap komputer dalam sistem Anda untuk menyiapkan GPU.

2. Unduh dan instal driver mitigasi

Perangkat lunak ini mungkin mencakup komponen yang dikembangkan dan dimiliki oleh NVIDIA Corporation atau pemberi lisensinya. Penggunaan komponen ini diatur oleh perjanjian lisensi pengguna akhir NVIDIA.

Lihat dokumentasi NVIDIA untuk mengunduh driver mitigasi NVIDIA yang berlaku. Setelah mengunduh driver, perluas arsip dan instal driver mitigasi pada setiap komputer host. Gunakan skrip PowerShell berikut untuk mengunduh driver mitigasi dan mengekstraknya:

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

Setelah file driver mitigasi diekstrak, temukan versi untuk model GPU Anda yang benar dan instal. Misalnya, jika Anda menginstal driver mitigasi NVIDIA A2, jalankan hal berikut:

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

Untuk mengonfirmasi penginstalan driver ini, jalankan:

pnputil /enum-devices OR pnputil /scan-devices

Anda akan dapat melihat GPU yang diidentifikasi dengan benar di Get-PnpDevice:

Get-PnpDevice -Class Display | fl FriendlyName, ClusterId

Ulangi langkah-langkah di atas untuk setiap host di Azure Local Anda.

Menggunakan GPU-P

Ikuti proses ini jika menggunakan GPU-P:

Unduh dan instal driver host

GPU-P memerlukan driver pada tingkat host yang berbeda dari DDA. Untuk GPU NVIDIA, Anda memerlukan driver grafis perangkat lunak VGPU NVIDIA pada setiap host dan pada setiap VM yang akan menggunakan GPU-P. Untuk informasi selengkapnya, lihat Dokumentasi NVIDIA vGPU terbaru dan detail tentang lisensi di Panduan Pengguna Lisensi Klien.

Setelah mengidentifikasi GPU seperti 3D Video Controller pada komputer host Anda, unduh driver vGPU host. Melalui LISENSI NVIDIA GRID Anda, Anda harus dapat memperoleh file .zip driver host yang tepat.

Anda harus mendapatkan dan memindahkan folder berikut ke komputer host Anda: \vGPU_<Your_vGPU_version>_GA_Azure_Stack_HCI_Host_Drivers

Navigasi ke \vGPU_<Your_vGPU_version>_GA_Azure_Stack_HCI_Host_Drivers\Display.Driver dan instal driver.

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

Untuk mengonfirmasi penginstalan driver ini, jalankan:

pnputil /enum-devices

Anda akan dapat melihat GPU yang diidentifikasi dengan benar di Get-PnpDevice:

Get-PnpDevice -Class Display | fl FriendlyName, ClusterId

Anda juga dapat menjalankan Antarmuka nvidia-smi Manajemen Sistem NVIDIA untuk mencantumkan GPU pada komputer host sebagai berikut:

nvidia-smi

Jika driver diinstal dengan benar, Anda akan melihat output yang mirip dengan sampel berikut:

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                                                 |
+-----------------------------------------------------------------------------+

Mengonfigurasi jumlah partisi GPU

Ikuti langkah-langkah ini untuk mengonfigurasi jumlah partisi GPU di PowerShell:

Catatan

Saat menggunakan PowerShell, Anda harus memastikan konfigurasi GPU secara manual homogen di semua komputer di Azure Local Anda.

  1. Sambungkan ke komputer yang jumlah partisi GPU-nya ingin Anda konfigurasikan.

  2. Jalankan perintah Get-VMHostPartitionableGpu dan periksa nilai Nama dan ValidPartitionCounts.

  3. Jalankan perintah berikut untuk mengonfigurasi jumlah partisi. Ganti GPU-name dengan nilai Nama dan partition-count dengan salah satu hitungan yang didukung dari nilai ValidPartitionCounts :

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

    Misalnya, perintah berikut mengonfigurasi jumlah partisi ke 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
    

    Anda dapat menjalankan perintah Get-VMHostPartitionableGpu | FL Name,ValidPartitionCounts,PartitionCount lagi untuk memverifikasi bahwa jumlah partisi diatur ke 4.

    Berikut adalah sampel output:

    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. Untuk menjaga konfigurasi tetap homogen, ulangi langkah-langkah konfigurasi jumlah partisi pada setiap komputer di sistem Anda.

Persyaratan tamu

Manajemen GPU didukung untuk beban kerja VM Arc berikut:

Langkah berikutnya