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.
Sambungkan ke komputer yang jumlah partisi GPU-nya ingin Anda konfigurasikan.
Jalankan perintah
Get-VMHostPartitionableGpu
dan periksa nilai Nama dan ValidPartitionCounts.Jalankan perintah berikut untuk mengonfigurasi jumlah partisi. Ganti
GPU-name
dengan nilai Nama danpartition-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 ke4
.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
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:
VM Generasi 2
Sistem operasi 64-bit yang didukung sebagaimana dirinci dalam dokumen terbaru NVIDIA vGPU support Supported Products.