Przyspieszanie procesora GPU dla usługi Azure IoT Edge dla systemu Linux w systemie Windows

Dotyczy:Znacznik wyboru usługi IoT Edge 1.5 IoT Edge 1.5 Znacznik wyboru usługi IoT Edge 1.4 IoT Edge 1.4

Ważne

Obsługiwane są wersje usługi IoT Edge 1.5 LTS i IoT Edge 1.4 LTS. Usługa IoT Edge 1.4 LTS kończy się 12 listopada 2024 r. Jeśli korzystasz z wcześniejszej wersji, zobacz aktualizację Azure IoT Edge.

Procesory GPU są popularnym wyborem do obliczeń sztucznej inteligencji, ponieważ oferują możliwości przetwarzania równoległego i często mogą wykonywać wnioskowanie oparte na obrazie szybciej niż procesory CPU. Aby lepiej obsługiwać aplikacje sztucznej inteligencji i uczenia maszynowego, usługa Azure IoT Edge dla systemu Linux w systemie Windows (EFLOW) może uwidocznić procesor GPU modułowi maszyny wirtualnej z systemem Linux.

Usługa Azure IoT Edge dla systemu Linux w systemie Windows obsługuje kilka technologii przekazywania procesora GPU, w tym:

  • Bezpośrednie przypisanie urządzenia (DDA) — rdzenie procesora GPU są przydzielane do maszyny wirtualnej z systemem Linux lub hosta.

  • Gpu-Paravirtualization (GPU-PV) — procesor GPU jest współużytkowany między maszyną wirtualną z systemem Linux a hostem.

Należy wybrać odpowiednią metodę przekazywania podczas wdrażania, aby dopasować do obsługiwanych możliwości sprzętu procesora GPU urządzenia.

Ważne

Funkcje te mogą obejmować składniki opracowane i należące do firmy NVIDIA Corporation lub jej licencjodawców. Korzystanie ze składników podlega umowie licencyjnej użytkownika końcowego firmy NVIDIA znajdującej się w witrynie internetowej firmy NVIDIA.

Korzystając z funkcji przyspieszania procesora GPU, akceptujesz i wyrażasz zgodę na warunki umowy licencyjnej użytkownika końcowego firmy NVIDIA.

Wymagania wstępne

Funkcje przyspieszania procesora GPU usługi Azure IoT Edge dla systemu Linux w systemie Windows obecnie obsługują wybrany zestaw sprzętu procesora GPU. Ponadto użycie tej funkcji może wymagać określonych wersji systemu Windows.

Obsługiwane procesory GPU i wymagane wersje systemu Windows są wymienione poniżej:

Obsługiwane procesory GPU Typ przekazywania procesora GPU Obsługiwane wersje systemu Windows
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)

Ważne

Obsługa procesorów GPU-PV może być ograniczona do niektórych generacji procesorów lub architektur gpu określonych przez dostawcę procesora GPU. Aby uzyskać więcej informacji, zobacz dokumentację sterownika iGPU firmy Intel lub dokumentację CUDA firmy NVIDIA dla WSL.

Użytkownicy systemu Windows Server 2019 muszą używać minimalnej kompilacji 17763 z zainstalowanymi wszystkimi bieżącymi aktualizacjami zbiorczymi.

Użytkownicy systemu Windows 10 muszą używać kompilacji aktualizacji z listopada 2021 r. 19044.1620 lub nowszej. Po zakończeniu instalacji możesz zweryfikować wersję kompilacji, uruchamiając polecenie winver w wierszu polecenia.

Przekazywanie procesora GPU nie jest obsługiwane w przypadku wirtualizacji zagnieżdżonej, takiej jak uruchamianie funkcji EFLOW na maszynie wirtualnej z systemem Windows.

Instalacja i instalacja systemu

Poniższe sekcje zawierają informacje o instalacji i instalacji zgodnie z procesorem GPU.

Procesory GPU NVIDIA T4/A2

W przypadku procesorów GPU T4/A2 firma Microsoft zaleca zainstalowanie sterownika ograniczania ryzyka urządzenia od dostawcy procesora GPU. Chociaż jest to opcjonalne, zainstalowanie sterownika ograniczania ryzyka może poprawić bezpieczeństwo wdrożenia. Aby uzyskać więcej informacji, zobacz Wdrażanie urządzeń graficznych przy użyciu bezpośredniego przypisania urządzenia.

Ostrzeżenie

Włączenie przekazywania urządzeń sprzętowych może zwiększyć ryzyko bezpieczeństwa. Firma Microsoft zaleca sterownik ograniczania ryzyka urządzenia od dostawcy procesora GPU, jeśli ma to zastosowanie. Aby uzyskać więcej informacji, zobacz Wdrażanie urządzeń graficznych przy użyciu dyskretnego przypisania urządzenia.

PROCESORy GPU NVIDIA GeForce/Quadro/RTX

W przypadku procesorów GPU NVIDIA GeForce/Quadro/RTX pobierz i zainstaluj sterownik obsługujący funkcję NVIDIA CUDA dla Podsystem Windows dla systemu Linux (WSL) do użycia z istniejącymi przepływami pracy CUDA ML. Pierwotnie opracowany dla WSL, sterowniki CUDA dla WSL są również używane dla usługi Azure IoT Edge dla systemu Linux w systemie Windows.

Użytkownicy systemu Windows 10 muszą również zainstalować protokół WSL , ponieważ niektóre biblioteki są współużytkowane przez systemy WSL i Azure IoT Edge dla systemu Linux w systemie Windows.

Procesory iGP Intel

W przypadku procesorów iGP Firmy Intel pobierz i zainstaluj sterownik graficzny Intel z obsługą procesora GPU WSL.

Użytkownicy systemu Windows 10 muszą również zainstalować protokół WSL , ponieważ niektóre biblioteki są współużytkowane przez systemy WSL i Azure IoT Edge dla systemu Linux w systemie Windows.

Włączanie przyspieszania procesora GPU we wdrożeniu usługi Azure IoT Edge w systemie Linux

Po zakończeniu instalacji systemu możesz utworzyć wdrożenie usługi Azure IoT Edge dla systemu Linux w systemie Windows. Podczas tego procesu należy włączyć procesor GPU w ramach wdrożenia EFLOW.

Na przykład następujące polecenia tworzą maszynę wirtualną z obsługą procesora GPU z procesorem GPU NVIDIA A2 lub kartą graficzną Intel Iris Xe.

#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"

Aby znaleźć nazwę procesora GPU, możesz uruchomić następujące polecenie lub wyszukać karty wyświetlania w Menedżer urządzeń.

(Get-WmiObject win32_VideoController).caption

Po zakończeniu instalacji możesz przystąpić do wdrażania i uruchamiania modułów z przyspieszonym procesorem GPU systemu Linux za pośrednictwem usługi Azure IoT Edge dla systemu Linux w systemie Windows.

Konfigurowanie przyspieszania procesora GPU w istniejącym wdrożeniu usługi Azure IoT Edge w systemie Linux

Przypisanie procesora GPU w czasie wdrażania spowoduje najprostsze środowisko. Jednak aby włączyć lub wyłączyć procesor GPU po wdrożeniu, użyj polecenia "set-eflowvm". W przypadku używania polecenia "set-eflowvm" parametr domyślny będzie używany dla żadnego argumentu, który nie został określony. Przykład:

#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

Następne kroki

Wprowadzenie do przykładów

Odwiedź naszą stronę przykładów EFLOW, aby zapoznać się z kilkoma przykładami procesora GPU, których możesz użyć. Te przykłady ilustrują typowe scenariusze produkcji i handlu detalicznego, takie jak wykrywanie wad, bezpieczeństwo procesów roboczych i zarządzanie zapasami. Przykłady typu open source mogą służyć jako szablon rozwiązania do tworzenia własnej aplikacji do uczenia maszynowego opartego na obrazie.

Dowiedz się więcej od naszych partnerów

Kilku dostawców procesorów GPU dostarczyło przewodniki użytkownika dotyczące jak największego sprzętu i oprogramowania przy użyciu platformy EFLOW.

Uwaga

Ten przewodnik nie obejmuje procesorów GPU opartych na DDA, takich jak NVIDIA T4 lub A2.

Poznaj technologię

Dowiedz się więcej o technologiach przekazywania procesora GPU, odwiedzając dokumentację DDA i wpis w blogu GPU-PV.