Gpu'ları Azure Yerel için hazırlama
Şunlar için geçerlidir: Azure Yerel 2311.2 ve üzeri
Bu makalede Arc sanal makinelerinde (VM' ler) ve Azure Arc tarafından etkinleştirilen AKS üzerinde çalışan yoğun hesaplama gerektiren iş yükleri için Azure Yerel örneğinizdeki grafik işleme birimlerinin (GPU) nasıl hazırlandığı açıklanmaktadır. GPU'lar makine öğrenmesi ve derin öğrenme gibi yoğun hesaplama gerektiren iş yükleri için kullanılır.
Azure Yerel'de GPU ekleme
GPU'larınızı Azure Yerel için iki yoldan biriyle ekleyebilirsiniz:
Ayrı Cihaz Ataması (DDA) - iş yükünüze fiziksel bir GPU ayırmanıza olanak tanır. DDA dağıtımında sanallaştırılmış iş yükleri yerel sürücüde çalışır ve genellikle GPU'nun işlevselliğine tam erişime sahiptir. DDA, en yüksek uygulama uyumluluğu ve potansiyel performans düzeyi sunar.
GPU Bölümleme (GPU-P) - GPU'yi ayrılmış kesirli bölümlere bölerek birden çok iş yüküyle gpu paylaşmanıza olanak tanır.
GPU'larınızı kullanmanın iki seçeneği arasındaki aşağıdaki işlevleri ve destek farklarını göz önünde bulundurun:
Açıklama | Ayrık Cihaz Ataması | GPU Bölümleme |
---|---|---|
GPU kaynak modeli | Tüm cihaz | Eşit bölümlenmiş cihaz |
VM yoğunluğu | Düşük (bir GPU-bir VM) | Yüksek (bir gpudan birçok VM'ye) |
Uygulama uyumluluğu | Satıcı tarafından sağlanan tüm GPU özellikleri (DX 12, OpenGL, CUDA) | Satıcı tarafından sağlanan tüm GPU özellikleri (DX 12, OpenGL, CUDA) |
GPU Video Belleği | GPU tarafından desteklenen VRAM'a kadar | GPU'nun her bölüm başına desteklediği maksimum VRAM miktarı |
Konuktaki GPU sürücüsü | GPU üretici sürücüsü (NVIDIA) | GPU üretici sürücüsü (NVIDIA) |
Desteklenen GPU modelleri
Kullanılabilir desteklenen çözümlerin ve GPU'ların tam listesini görmek için bkz. Azure Yerel Çözümleri ve seçenekler için sol menüde GPU desteği'ni seçin.
NVIDIA, sanal GPU yazılımıyla iş yüklerini ayrı olarak destekler. Daha fazla bilgi için bkz . Microsoft Azure Yerel - Desteklenen NVIDIA GPU'ları ve Doğrulanmış Sunucu Platformları.
AKS iş yükleri için, Arc için AKS GPU'ları kısmına bakın.
Aşağıdaki GPU modelleri Arc VM iş yükleri için hem DDA hem de GPU-P kullanılarak desteklenir:
- NVIDIA A2
- NVIDIA A16
Bu ek GPU modelleri Arc VM iş yükleri için GPU-P (yalnızca) kullanılarak desteklenir:
- NVIDIA A10
- NVIDIA A40
- NVIDIA L4
- NVIDIA L40
- NVIDIA L40S
Konak gereksinimleri
Azure Yerel ana bilgisayarınız aşağıdaki gereksinimleri karşılamalıdır:
Sisteminizin GPU desteğine sahip bir Azure Yerel çözümünü desteklemesi gerekir. Seçeneklerinize göz atmak için bkz . Azure Yerel Kataloğu.
Azure Yerel'e erişiminiz var.
Sisteminizdeki tüm makinelerde GPU'lar için homojen bir yapılandırma oluşturmanız gerekir. Homojen bir yapılandırma, aynı marka ve model GPU'nun kurulmasından oluşur.
GPU-P için, sistemdeki her makinenin BIOS'unda sanallaştırma desteğinin ve SR-IOV'nin etkinleştirildiğinden emin olun. BIOS'unuzda doğru ayarı belirleyemiyorsanız donanım satıcınıza başvurun.
Her konakta GPU sürücülerini hazırlama
Her makine için GPU sürücülerini hazırlama ve yükleme işlemi, DDA ile GPU-P arasında bir farklılık gösterir. Durumunuz için geçerli süreci izleyin.
Her sunucuda GPU bul
İlk olarak her makine için yüklü sürücü olmadığından emin olun. Yüklü bir konak sürücüsü varsa, konak sürücüsünü kaldırın ve makineyi yeniden başlatın.
Ana bilgisayar sürücüsünü kaldırdıktan sonra veya yüklü sürücü yoksa powershell'i aşağıdaki komutla yönetici olarak çalıştırın:
Get-PnpDevice -Status Error | fl FriendlyName, ClusterId
GPU cihazlarının, örnek çıktıda gösterildiği gibi (GPU'nun kolay adı ve örnek kimliği liste halinde verilir) 3D Video Controller
hata durumunda göründüğünü görmeniz gerekir:
[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 kullanma
DDA kullanıyorsanız bu işlemi izleyin:
1. Ana bilgisayardan GPU'ları devre dışı bırakın ve sökün
DDA için konak sürücüsünü kaldırdığınızda veya yeni bir Azure Yerel kurulumuna sahip olduğunuzda fiziksel GPU hata durumuna geçer. Devam etmek için tüm GPU cihazlarını çıkarmanız gerekir. Önceki adımda elde edilen ClusterID
kullanarak GPU'yu devre dışı bırakmak ve sökmek için Aygıt Yöneticisi veya PowerShell'i kullanabilirsiniz.
$id1 = "GPU_instance_ID"
Disable-PnpDevice -ClusterId $id1 -Confirm:$false
Dismount-VMHostAssignableDevice -ClusterPath $id1 -Force
GPU'ların konak makineden doğru şekilde çıkarıldığını onaylayın. GPU'lar artık aşağıdaki Unknown
durumda olacaktır.
Get-PnpDevice -Status Unknown | fl FriendlyName, ClusterId
GPU'ları hazırlamak için sisteminizdeki her makine için bu işlemi yineleyin.
2. Risk azaltma sürücüsünü indirme ve yükleme
Yazılım, NVIDIA Corporation veya lisans verenleri tarafından geliştirilen ve sahip olunan bileşenleri içerebilir. Bu bileşenlerin kullanımı NVIDIA son kullanıcı lisans sözleşmesine tabidir.
İlgili NVIDIA risk azaltma sürücüsünü indirmek için NVIDIA belgelerine bakın. Sürücüyü indirdikten sonra arşivi genişletin ve her konak makinesine risk azaltma sürücüsünü yükleyin. Azaltma sürücüsünü indirmek ve ayıklamak için aşağıdaki PowerShell betiğini kullanın:
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
Risk azaltma sürücüsü dosyaları ayıklandıktan sonra GPU'nuzun doğru modelinin sürümünü bulun ve yükleyin. Örneğin, bir NVIDIA A2 risk azaltma sürücüsü yüklüyorsanız aşağıdakileri çalıştırın:
pnputil /add-driver nvidia_azure_stack_A2_base.inf /install /force
Bu sürücülerin yüklenmesini onaylamak için şunu çalıştırın:
pnputil /enum-devices OR pnputil /scan-devices
Siz Get-PnpDevice
içinde doğru şekilde tanımlanan GPU'ları görebilmelisiniz.
Get-PnpDevice -Class Display | fl FriendlyName, ClusterId
Azure Yerel ortamınızdaki her konak için yukarıdaki adımları yineleyin.
GPU-P kullanma
GPU-P kullanıyorsanız bu işlemi izleyin:
Konak sürücüsünü indirme ve yükleme
GPU-P, DDA'dan farklı konak düzeyinde sürücüler gerektirir. NVIDIA GPU'ları için, her konakta ve GPU-P kullanacak her VM'de bir NVIDIA vGPU yazılım grafik sürücüsüne ihtiyacınız olacaktır. Daha fazla bilgi için İstemci Lisanslama Kullanıcı Kılavuzu'nda NVIDIA vGPU Belgelerinin en son sürümüne ve lisanslama ayrıntılarına bakın.
GPU'ları konak makinenizde olduğu gibi 3D Video Controller
tanımladıktan sonra konak vGPU sürücüsünü indirin. NVIDIA GRID lisansınız aracılığıyla uygun ana bilgisayar sürücüsünü .zip dosyasını edinebilmeniz gerekir.
Aşağıdaki klasörü edinmeniz ve konak makinenize taşımanız gerekir: \vGPU_<Your_vGPU_version>_GA_Azure_Stack_HCI_Host_Drivers
\vGPU_<Your_vGPU_version>_GA_Azure_Stack_HCI_Host_Drivers\Display.Driver adresine gidin ve sürücüyü yükleyin.
pnputil /add-driver .\nvgridswhci.inf /install /force
Bu sürücülerin yüklenmesini onaylamak için şunu çalıştırın:
pnputil /enum-devices
Siz Get-PnpDevice
içinde doğru şekilde tanımlanan GPU'ları görebilmelisiniz.
Get-PnpDevice -Class Display | fl FriendlyName, ClusterId
Ana makinedeki GPU'ları aşağıdaki gibi listelemek için NVIDIA Sistem Yönetimi Arabirimi'ni nvidia-smi
de çalıştırabilirsiniz:
nvidia-smi
Sürücü doğru yüklenmişse aşağıdaki örneğe benzer bir çıkış görürsünüz:
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 |
+-----------------------------------------------------------------------------+
GPU bölüm sayısını yapılandırma
PowerShell'de GPU bölüm sayısını yapılandırmak için şu adımları izleyin:
Not
PowerShell kullanırken, GPU yapılandırmasının Azure Yerel'inizdeki tüm makineler arasında homojen olduğundan el ile emin olmanız gerekir.
GPU bölüm sayısını yapılandırmak istediğiniz makineye bağlanın.
Get-VMHostPartitionableGpu
komutunu çalıştırın ve Name ve ValidPartitionCounts değerlerine bakın.Bölüm sayısını yapılandırmak için aşağıdaki komutu çalıştırın.
GPU-name
ile Ad değerini vepartition-count
ile ValidPartitionCounts değerindeki desteklenen sayılardan birini değiştirin.Set-VMHostPartitionableGpu -Name "<GPU-name>" -PartitionCount <partition-count>
Örneğin, aşağıdaki komut bölüm sayısını olarak
4
yapılandırıyor: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
Komutunu
Get-VMHostPartitionableGpu | FL Name,ValidPartitionCounts,PartitionCount
yeniden çalıştırarak bölüm sayısının4
olarak ayarlandığını doğrulayabilirsiniz.Aşağıda örnek bir çıkış verilmişti:
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
Yapılandırmayı homojen tutmak için, sisteminizdeki her makinede bölüm sayısı yapılandırma adımlarını yineleyin.
Konuk gereksinimleri
GPU yönetimi aşağıdaki Arc VM iş yükleri için desteklenir:
2. Nesil VM’ler
Desteklenen 64 bit işletim sistemi, en son NVIDIA vGPU desteği Desteklenen Ürünler'de ayrıntılı olarak anlatıldı