Udostępnij przez


Wdrażanie modułu IoT z obsługą procesora GPU w usłudze Azure Stack Hub

Usługa Azure Stack Hub z obsługą procesora GPU umożliwia wdrażanie modułów intensywnie korzystających z procesora na urządzeniach z systemem Linux uruchomionych w usłudze IoT Edge. Rozmiary maszyn wirtualnych zoptymalizowanych pod kątem procesora GPU to wyspecjalizowane maszyny wirtualne dostępne z pojedynczymi lub wieloma procesorami GPU firmy NVIDIA. W tym artykule dowiesz się, jak używać maszyn wirtualnych zoptymalizowanych pod kątem procesora GPU do uruchamiania obciążeń intensywnie korzystających z obliczeń, intensywnie korzystających z grafiki i wizualizacji.

Przed rozpoczęciem potrzebna będzie subskrypcja firmy Microsoft Entra z dostępem do globalnej platformy Azure i usługi Azure Stack Hub, usługi Azure Container Registry (ACR) i centrum IoT.

W tym artykule dowiesz się:

  • Zainstaluj maszynę wirtualną z systemem Linux z obsługą procesora GPU i zainstaluj odpowiednie sterowniki.
  • Zainstaluj platformę Docker i włącz procesor GPU w środowisku uruchomieniowym.
  • Połącz swoje urządzenie IoT z IoT Hub i zainstaluj z marketplace'u IoT model: Getting started with GPUs.
  • Zainstaluj i monitoruj urządzenie z komputera lokalnego przy użyciu eksploratora usługi Azure IoT.
  • Opcjonalnie zainstaluj i monitoruj urządzenie przy użyciu rozszerzenia Azure IoT w programie Visual Studio Code.

Warunki wstępne

Musisz mieć następujące zasoby w wystąpieniu usługi Azure Stack Hub, globalnej platformie Azure i na lokalnym komputerze deweloperskim.

Azure Stack Hub i Azure

  • Subskrypcja jako użytkownik używający identyfikatora Microsoft Entra w zintegrowanym systemie usługi Azure Stack Hub z procesorem GPU NVIDA. Następujące mikroukłady współpracują z usługą iOT Hub:

    • NCv3
    • NCas_v4

    Aby uzyskać więcej informacji na temat procesorów GPU w usłudze Azure Stack Hub, zobacz maszynę wirtualną Procesor graficzny (GPU) w usłudze Azure Stack Hub.

  • Globalna subskrypcja platformy Azure. Jeśli nie masz globalnej subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto .

  • usługi Azure Container Registry (ACR). Zanotuj serwer logowania usługi ACR, nazwę użytkownika i hasło.

  • Bezpłatny lub standardowy IoT hub na globalnej platformie Azure.

Maszyna deweloperna

  • Możesz użyć własnego komputera lub maszyny wirtualnej, w zależności od preferencji programistycznych. Twój komputer programistyczny musi obsługiwać wirtualizację zagnieżdżoną. Ta funkcja jest niezbędna do uruchamiania platformy Docker, silnika kontenerowego używanego w tym artykule.

  • Maszyna deweloperna będzie potrzebować następujących zasobów:

Zarejestruj urządzenie IoT Edge

Użyj oddzielnego urządzenia do hostowania urządzenia IoT Edge. Użycie oddzielnego urządzenia zapewni separację między maszyną deweloperską a urządzeniem usługi IoT Edge, co dokładniej odzwierciedla scenariusz wdrażania.

Tworzenie urządzenia usługi IoT Edge na platformie Azure przy użyciu maszyny wirtualnej z systemem Linux:

  1. Tworzenie maszyny wirtualnej z systemem Linux z serii N w usłudze Azure Stack Hub. Podczas instalowania składników serwera będziesz korzystać z serwera za pośrednictwem protokołu SSH. Aby uzyskać więcej informacji, zobacz Używanie pary kluczy SSH z usługą Azure Stack Hub.

  2. Tworzenie i rejestrowanie urządzenia IoT Edge

Przygotowywanie maszyny wirtualnej z obsługą procesora GPU

  1. Zainstaluj sterowniki procesora GPU NVIDA na serwerze Z serii N systemu Linux, wykonując kroki opisane w artykule Instalowanie sterowników procesora GPU NVIDIA na maszynach wirtualnych serii N z systemem Linux.

    Notatka

    Użyjesz wiersza polecenia bash, aby zainstalować swoje oprogramowanie. Zanotuj polecenia, ponieważ użyjesz tych samych poleceń, aby zainstalować sterowniki w kontenerze uruchomionym na platformie Docker na maszynie wirtualnej z obsługą procesora GPU

  2. Zainstaluj najnowsze środowisko uruchomieniowe usługi IoT Edge na serwerze z systemem Linux z serii N w usłudze Azure Stack Hub. Aby uzyskać instrukcje, zobacz Install the Azure IoT Edge runtime on Debian-based Linux systems (Instalowanie środowiska uruchomieniowego usługi Azure IoT Edge w systemach Linux opartych na systemie Debian)

Instalowanie platformy Docker

Zainstaluj platformę Docker na maszynie wirtualnej z obsługą procesora GPU. Moduł z Marketplace usługi IoT Edge uruchomisz w kontenerze na maszynie wirtualnej.

Musisz zainstalować platformę Docker 19.02 lub nowszą. Środowisko uruchomieniowe platformy Docker obsługuje teraz procesory GPU NVIDIA. Aby dowiedzieć się więcej na temat procesorów GPU na platformie Docker, zobacz artykuł w dokumentacji platformy Docker, opcje środowiska uruchomieniowego z użyciem pamięci, procesorów CPU i procesorów GPU.

Instalowanie platformy Docker

Kontenery platformy Docker mogą działać w dowolnym miejscu, lokalnie w centrum danych klienta, u zewnętrznego dostawcy usług lub w chmurze na platformie Azure. Kontenery obrazów platformy Docker mogą działać natywnie w systemach Linux i Windows. Jednak obrazy systemu Windows mogą być uruchamiane tylko na hostach z systemem Windows, a obrazy systemu Linux mogą być uruchamiane zarówno na hostach z systemem Linux, jak i na hostach z systemem Windows (na razie przy użyciu maszyny wirtualnej Linux oznaczonej jako Hyper-V), gdzie host oznacza serwer lub maszynę wirtualną. Aby uzyskać więcej informacji, zobacz Co to jest platforma Docker?.

  1. Nawiąż połączenie z serwerem z systemem Linux z serii N przy użyciu klienta SSH.

  2. Zaktualizuj indeks apt i listy.

    sudo apt-get update
    
  3. Pobierz nowe wersje istniejących pakietów na maszynie.

    sudo apt-get upgrade
    
  4. Zainstaluj zależności wymagane do dodania repozytorium apt Dockera.

    sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
    
  5. Dodaj klucz gpG platformy Docker.

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
  6. Dodaj repozytorium apt platformy Docker.

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
    
  7. Zaktualizuj indeks apt i listy oraz zainstaluj program Docker Community Edition.

    sudo apt-get update 
    sudo apt-get install docker-ce
    
  8. Sprawdź instalację, sprawdzając wersję platformy Docker.

    docker -v
    
  9. Uwidaczniaj dostępne zasoby procesora GPU na platformie Docker.

    docker run -it --rm --gpus all ubuntu nvidia-smi
    

Pobieranie elementu z witryny Marketplace

Wróć do witryny Azure Portal i dodaj model do urządzenia brzegowego przy użyciu platformy handlowej iOT. Wybierz Marketplace Module z menu. Wyszukaj Getting started with GPUsi postępuj zgodnie z instrukcjami, aby dodać moduł.

Aby uzyskać instrukcje, zobacz Wybieranie urządzenia i dodawanie modułów

Włączanie monitorowania

  1. Pobierz eksploratora usługi Azure IoTi połącz aplikację z usługą IoT Hub.

  2. Wybierz urządzenie IoT i przejdź do pozycji Telemetria z menu nawigacji.

  3. Wybierz pozycję Rozpocznij, aby rozpocząć monitorowanie wyjścia z urządzenia IoT Edge.

prawidłowa instalacja

Monitorowanie modułu (opcjonalnie)

  1. W palecie poleceń programu VS Code uruchom polecenie Azure IoT Hub: wybierz IoT Hub.

  2. Wybierz subskrypcję i centrum IoT, które zawiera urządzenie usługi IoT Edge, które chcesz skonfigurować. W takim przypadku wybierz subskrypcję w wystąpieniu usługi Azure Stack Hub i wybierz urządzenie usługi IoT Edge utworzone dla usługi Azure Stack Hub. Dzieje się tak podczas konfigurowania zasobów obliczeniowych za pośrednictwem witryny Azure Portal we wcześniejszych krokach.

  3. W eksploratorze programu VS Code rozwiń sekcję Azure IoT Hub. W obszarze Urządzeniapowinien zostać wyświetlone urządzenie usługi IoT Edge odpowiadające usłudze Azure Stack Hub.

    1. Wybierz to urządzenie, kliknij na nim prawym przyciskiem myszy, a następnie wybierz Rozpocznij monitorowanie wbudowanego punktu końcowego zdarzeń.

    2. Przejdź do pozycji Urządzenia > Modules i powinien zostać wyświetlony uruchomiony moduł GPU .

    3. Terminal programu VS Code powinien również wyświetlać zdarzenia usługi IoT Hub jako dane wyjściowe monitorowania dla usługi Azure Stack Hub.

    poprawna instalacja to

    Widać, że czas potrzebny na wykonanie tego samego zestawu operacji (5000 iteracji transformacji kształtu) przez GPU jest znacznie mniejszy niż przez CPU.

Następne kroki