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

Şunlar için geçerlidir:IoT Edge 1.5 onay işareti IoT Edge 1.5 IoT Edge 1.4 onay işareti IoT Edge 1.4

Önemli

IoT Edge 1.5 LTS ve IoT Edge 1.4 LTS desteklenen sürümlerdir. IoT Edge 1.4 LTS, 12 Kasım 2024'te kullanım ömrü sona erer. Önceki bir sürümdeyseniz bkz. IoT Edge’i güncelleştirme.

GPU'lar, paralel işleme özellikleri sunduğundan ve genellikle CPU'lardan daha hızlı görüntü tabanlı çıkarım gerçekleştirebildiğinden yapay zeka hesaplamaları için popüler bir seçimdir. Yapay zeka ve makine öğrenmesi uygulamalarını daha iyi desteklemek için Windows üzerinde Linux için Azure IoT Edge (EFLOW), sanal makinenin Linux modülünde gpu kullanıma sunabilir.

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 Son Kullanıcı Lisans Sözleşmesi'nin koşullarını kabul etmiş ve kabul etmiş olursunuz.

Önkoşullar

Windows üzerinde Linux için Azure IoT Edge'in 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 aşağıda listelenmiştir:

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-BD Windows 10/11 (Pro, Enterprise, IoT Enterprise)
Intel iGPU GPU-BD 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ırlı olabilir. 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ı, tüm geçerli toplu güncelleştirmelerin yüklü olduğu en düşük derleme 17763'ü kullanmalıdır.

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

GPU geçişi, Windows sanal makinesinde 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ı kullanarak grafik cihazları dağıtma.

NVIDIA GeForce/Quadro/RTX GPU'ları

NVIDIA GeForce/Quadro/RTX GPU'ları için, mevcut CUDA ML iş akışlarınızda kullanmak üzere Linux için Windows Alt Sistemi (WSL) için NVIDIA CUDA özellikli sürücüyü indirin ve 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 için de kullanılır.

Bazı kitaplıklar Windows üzerinde WSL ile Linux için Azure IoT Edge arasında paylaşıldığından Windows 10 kullanıcılarının da WSL yüklemesi gerekir.

Intel iGPU'ları

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

Bazı kitaplıklar Windows üzerinde WSL ile Linux için Azure IoT Edge arasında paylaşıldığından Windows 10 kullanıcılarının da WSL yüklemesi gerekir.

Windows üzerinde Azure IoT Edge Linux dağıtımınızda GPU hızlandırmayı etkinleştirme

Sistem kurulumu tamamlandıktan sonra Windows üzerinde Linux için Azure IoT Edge dağıtımınızı oluşturmaya hazırsınız. Bu işlem sırasında, EFLOW dağıtımının bir parçası olarak GPU'nun etkinleştirilmesi gerekir.

Örneğin, aşağıdaki 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'nuzun adını bulmak için aşağıdaki komutu çalıştırabilir veya Aygıt Yöneticisi Görüntü bağdaştırıcılarını arayabilirsiniz.

(Get-WmiObject win32_VideoController).caption

Yükleme tamamlandıktan sonra, Windows üzerinde Linux için Azure IoT Edge aracılığıyla GPU hızlandırmalı Linux modüllerini dağıtmaya ve çalıştırmaya hazırsınız.

Windows üzerinde mevcut bir Azure IoT Edge Linux dağıtımında GPU hızlandırmayı yapılandırma

GPU'ya dağıtım zamanında atanması en basit deneyime neden olur. Ancak, dağıtımdan sonra GPU'nun etkinleştirilmesi veya devre dışı bırakılması için 'set-eflowvm' komutunu kullanın. 'set-eflowvm' kullanılırken, belirtilmeyen bağımsız değişkenler 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, otherwise they will be 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, otherwise the GPU will be 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

Örnekleri Kullanmaya Başlama

Deneyebileceğiniz ve kullanabileceğiniz çeşitli GPU örneklerini keşfetmek için EFLOW Örnekleri Sayfamızı ziyaret edin. Bu örnekler hata algılama, çalışan güvenliği ve envanter yönetimi gibi yaygın üretim ve perakende senaryolarını göstermektedir. Açık kaynak örnekleri, kendi görüntü işleme tabanlı makine öğrenmesi uygulamanızı oluşturmaya yönelik bir çözüm şablonu olarak kullanılabilir.

İş Ortaklarımızdan Daha Fazla Bilgi Edinin

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

  • Windows üzerinde Linux için Azure IoT Edge (EFLOW) ve OpenVINO Toolkit ve başvuru uygulamaları ile iGPU'da Intel'in kılavuzunu izleyerek Intel OpenVINO™ uygulamalarını EFLOW'da™ çalıştırmayı öğrenin.
  • NVIDIA'nın GeForce/Quadro/RTX GPU'ları için EFLOW Kullanıcı Kılavuzu'nu izleyerek EFLOW'da CUDA hızlandırılmış uygulamaları dağıtmaya başlayın.

Not

Bu kılavuz NVIDIA T4 veya A2 gibi DDA tabanlı GPU'ları kapsamaz.

Teknolojiye Dalın

DDA belgelerini ve GPU-PV blog gönderisini ziyaret ederek GPU geçiş teknolojileri hakkında daha fazla bilgi edinin.