Aracılığıyla paylaş


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.

  1. GPU bölüm sayısını yapılandırmak istediğiniz makineye bağlanın.

  2. Get-VMHostPartitionableGpu komutunu çalıştırın ve Name ve ValidPartitionCounts değerlerine bakın.

  3. 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 ve partition-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 4yapı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ın 4 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
    
  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:

Sonraki adımlar