Windows üzerinde Linux için Azure IoT Edge için GPU hızlandırma

Applies to:IoT Edge 1.5 onay işareti IoT Edge 1.5

Önemli

IoT Edge 1.5 LTS, desteklenen bir sürümdür. IoT Edge 1.4 LTS, 12 Kasım 2024'te kullanım ömrüne ulaştı. Önceki bir sürümü kullanıyorsanız bkz. Update IoT Edge.

GPU'lar, paralel işleme özellikleri sunduğundan ve genellikle görüntü tabanlı çıkarımları CPU'lardan daha hızlı çalıştırdığından yapay zeka hesaplamaları için popüler bir seçimdir. Yapay zeka ve makine öğrenmesi uygulamalarını desteklemek için Windows üzerinde Linux için Azure IoT Edge (EFLOW), sanal makinenin Linux modülünde bir GPU sunar.

Windows üzerinde Linux için Azure IoT Edge, aşağıdakiler dahil olmak üzere çeşitli GPU geçiş teknolojilerini destekler:

  • Doğrudan Cihaz Ataması (DDA) - GPU çekirdekleri Linux sanal makinesine veya konağa ayrılır.

  • GPU-Paravirtualization (GPU-PV) - GPU, Linux sanal makinesi ile konak arasında paylaşılır.

Cihazınızın GPU donanımının desteklenen özellikleriyle eşleşmesi için dağıtım sırasında uygun geçiş yöntemini seçmeniz gerekir.

Önemli

Bu özellikler, NVIDIA Corporation veya lisans verenleri tarafından geliştirilen ve sahip olunan bileşenleri içerebilir. Bileşenlerin kullanımı, NVIDIA'nın web sitesinde bulunan NVIDIA Son Kullanıcı Lisans Sözleşmesi'ne tabidir.

GPU hızlandırma özelliklerini kullanarak NVIDIA End-User Lisans Sözleşmesi'nin koşullarını kabul etmiş ve kabul etmiş olursunuz.

Önkoşullar

Windows üzerinde Linux için Azure IoT Edge GPU hızlandırma özellikleri şu anda belirli bir GPU donanımı kümesini destekler. Ayrıca, bu özelliğin kullanılması belirli Windows sürümlerini gerektirebilir.

Desteklenen GPU'lar ve gerekli Windows sürümleri şunlardır:

Desteklenen GPU'lar GPU Geçiş Türü Desteklenen Windows Sürümleri
NVIDIA T4, A2 DDA Windows Server 2019
Windows Server 2022
Windows 10/11 (Pro, Enterprise, IoT Enterprise)
NVIDIA GeForce, Quadro, RTX GPU-PV Windows 10/11 (Pro, Enterprise, IoT Enterprise)
Intel iGPU GPU-PV Windows 10/11 (Pro, Enterprise, IoT Enterprise)

Önemli

GPU-PV desteği, GPU satıcısı tarafından belirlenen belirli işlemci nesilleri veya GPU mimarileriyle sınırlandırılabilir. Daha fazla bilgi için Intel'in iGPU sürücü belgelerine veya NVIDIA'nın WSL için CUDA Belgeleri'ne bakın.

Windows Server 2019 kullanıcıların tüm geçerli toplu güncelleştirmeler yüklü olarak en düşük derleme 17763'ü kullanması gerekir.

Windows 10 kullanıcıların November 2021 güncelleştirmesi derlemesi 19044.1620 veya üzerini kullanması gerekir. Yüklemeden sonra, komut isteminde komutunu çalıştırarak winver derleme sürümünüzü denetleyin.

GPU geçişi, Windows bir sanal makinede EFLOW çalıştırma gibi iç içe sanallaştırma ile desteklenmez.

Sistem kurulumu ve yüklemesi

Aşağıdaki bölümler, GPU'nuza göre kurulum ve yükleme bilgilerini içerir.

NVIDIA T4/A2 GPU'lar

T4/A2 GPU'lar için Microsoft, GPU satıcınızdan bir cihaz azaltma sürücüsü yüklemenizi önerir. İsteğe bağlı olsa da, bir azaltma sürücüsü yüklemek dağıtımınızın güvenliğini artırabilir. Daha fazla bilgi için bkz . Doğrudan cihaz atamasını kullanarak grafik cihazları dağıtma.

Uyarı

Donanım cihazı geçişinin etkinleştirilmesi güvenlik risklerini artırabilir. Microsoft, uygun olduğunda GPU'nuzun satıcısından bir cihaz azaltma sürücüsü önerir. Daha fazla bilgi için bkz Ayrı cihaz atamasıyla grafik cihazları dağıtma.

NVIDIA GeForce/Quadro/RTX GPU'ları

NVIDIA GeForce/Quadro/RTX GPU için, mevcut CUDA ML iş akışlarınızla kullanmak üzere Windows Subsystem for Linux (WSL) için NVIDIA CUDA özellikli sürücüyü indirip yükleyin. Başlangıçta WSL için geliştirilen WSL sürücüleri için CUDA, Windows üzerinde Linux için Azure IoT Edge ile de kullanılır.

Windows 10 kullanıcıları, WSL ile Windows üzerinde Linux için Azure IoT Edge arasında bazı kitaplıklar paylaşıldığından WSL'yi yüklemelisiniz.

Intel iGPU'ları

Intel iGPU'lar için WSL GPU desteğine sahip Intel Grafik Sürücüsü'ne indirip yükleyin.

Windows 10 kullanıcıları, bazı kitaplıklar Windows üzerinde Linux için Azure IoT Edge ve WSL arasında paylaşıldığı için, WSL yüklemelidir.

Windows dağıtımında Azure IoT Edge Linux'unuzda GPU hızlandırmayı etkinleştirme

Sistem kurulumunu tamamladıktan sonra, Windows üzerinde Linux için Azure IoT Edge dağıtımınızı oluşturmayı başlatın. Bu işlem sırasında, EFLOW dağıtımının bir parçası olarak GPU desteğini etkinleştirin.

Örneğin, bu komutlar NVIDIA A2 GPU veya Intel Iris Xe Grafik kartı ile GPU özellikli bir sanal makine oluşturur.

#Deploys EFLOW with NVIDIA A2 assigned to the EFLOW VM
Deploy-Eflow -gpuPassthroughType DirectDeviceAssignment -gpuCount 1 -gpuName "NVIDIA A2"

#Deploys EFLOW with Intel(R) Iris(R) Xe Graphics assigned to the EFLOW VM
Deploy-Eflow -gpuPassthroughType ParaVirtualization -gpuCount 1 -gpuName "Intel(R) Iris(R) Xe Graphics"

GPU adınızı bulmak için bu komutu çalıştırın veya Device Manager Görüntü bağdaştırıcıları'nı arayın.

(Get-WmiObject win32_VideoController).caption

Yüklemeyi tamamladıktan sonra, Windows üzerinde Linux için Azure IoT Edge aracılığıyla GPU hızlandırmalı Linux modüllerini dağıtın ve çalıştırın.

Windows dağıtımında mevcut Azure IoT Edge Linux'ta GPU hızlandırmayı yapılandırma

En basit deneyim için GPU'yu dağıtım sırasında atayın. Dağıtımdan sonra GPU'yı etkinleştirmek veya devre dışı bırakmak için komutunu kullanın set-eflowvm . set-eflowvm kullandığınızda, belirtmediğiniz herhangi bir bağımsız değişken için varsayılan parametre kullanılır. Örneğin,

# Deploys EFLOW without a GPU assigned to the EFLOW VM
Deploy-Eflow -cpuCount 4 -memoryInMB 16384

# Assigns NVIDIA A2 GPU to the existing deployment (cpu and memory must still be specified, or they're set to the default values)
Set-EflowVM -cpuCount 4 -memoryInMB 16384 -gpuName "NVIDIA A2" -gpuPassthroughType DirectDeviceAssignment -gpuCount 1

# Reduces the cpuCount and memory (GPU must still be specified, or the GPU is removed)
Set-EflowVM -cpuCount 2 -memoryInMB 4096 -gpuName "NVIDIA A2" -gpuPassthroughType DirectDeviceAssignment -gpuCount 1

# Removes NVIDIA A2 GPU from the existing deployment
Set-EflowVM -cpuCount 2 -memoryInMB 4096

Sonraki adımlar

  • GPU örneklerini EFLOW örneklerinden deneyin. Bu örnekler hata algılama, çalışan güvenliği ve envanter yönetimi gibi yaygın üretim ve perakende senaryolarını gösterir. Bu açık kaynak örnekleri, kendi görüntü işleme tabanlı makine öğrenmesi uygulamanızı oluşturmaya yönelik bir çözüm şablonu olabilir.

  • DDA belgelerinde ve GPU-PV blog gönderisinde GPU geçiş teknolojileri hakkında daha fazla bilgi edinin.

Çeşitli GPU satıcıları, EFLOW ile donanımlarından ve yazılımlarından en iyi şekilde yararlanma konusunda kullanıcı kılavuzları sağlar: