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 na IoT Edge. Rozmiary maszyn wirtualnych zoptymalizowane pod kątem procesora GPU to wyspecjalizowane maszyny wirtualne dostępne z jednym 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ń, grafiki i wizualizacji.

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

W tym artykule opisano następujące zagadnienia:

  • 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 urządzenie IoT z usługą iOT Hub i zainstaluj je z platformy handlowej iOT przy użyciu modelu: Getting started with GPUs.
  • Instalowanie i monitorowanie urządzenia z komputera lokalnego przy użyciu narzędzia Azure IoT Explorer.
  • Opcjonalnie zainstaluj i monitoruj urządzenie przy użyciu rozszerzenia Azure IoT w Visual Studio Code.

Wymagania wstępne

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

Usługi Azure Stack Hub i Azure

  • Subskrypcja jako użytkownik używająca identyfikatora Microsoft Entra w zintegrowanym systemie usługi Azure Stack Hub z procesorem GPU NVIDA. Następujące mikroukłady działają 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 Procesor graficzny (GPU) maszyny wirtualnej 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 .

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

  • Bezpłatne lub standardowe centrum 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. Maszyna deweloperów musi obsługiwać wirtualizację zagnieżdżonych. Ta funkcja jest niezbędna do uruchamiania platformy Docker — aparatu kontenera używanego w tym artykule.

  • Na komputerze deweloperskim będą potrzebne następujące zasoby:

Rejestrowanie urządzenia usługi IoT Edge

Użyj oddzielnego urządzenia do hostowania urządzenia IoT Edge. Użycie oddzielnego urządzenia zapewni rozdzielenie maszyny deweloperów i IoT Edge urządzenia dokładniej odzwierciedla scenariusz wdrażania.

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

  1. Utwórz maszynę wirtualną serwera z systemem Linux 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 procesorów GPU NVIDA na serwerze z systemem Linux serii N, wykonując kroki opisane w artykule Instalowanie sterowników procesorów GPU firmy NVIDIA na maszynach wirtualnych serii N z systemem Linux.

    Uwaga

    Aby zainstalować oprogramowanie, użyjesz wiersza polecenia powłoki bash. 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 IoT Edge na serwerze z systemem Linux serii N w usłudze Azure Stack Hub. Aby uzyskać instrukcje, zobacz Instalowanie środowiska uruchomieniowego usługi Azure IoT Edge w systemach Linux opartych na systemie Debian

Zainstaluj platformę Docker

Zainstaluj platformę Docker na maszynie wirtualnej z obsługą procesora GPU. Uruchomisz moduł z witryny IoT Edge Marketplace w kontenerze na maszynie wirtualnej.

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

Zainstaluj platformę 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 na hostach z systemem Linux i hostach z systemem Windows (do tej pory przy użyciu maszyny wirtualnej z systemem Linux funkcji 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 platformy Docker.

    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. Uwidocznij dostępne zasoby procesora GPU na platformie Docker.

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

Pobieranie elementu z witryny Marketplace

Wróć do Azure Portal i dodaj model do urządzenia brzegowego przy użyciu platformy handlowej iOT. Wybierz pozycję Moduł witryny Marketplace z menu. Wyszukaj ciąg 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 narzędzie Azure IoT Explorer i połącz aplikację z IoT Hub.

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

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

prawidłowa instalacja

Monitorowanie modułu (opcjonalnie)

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

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

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

    1. Wybierz to urządzenie, kliknij prawym przyciskiem myszy i wybierz pozycję Rozpocznij monitorowanie wbudowanego punktu końcowego zdarzeń.

    2. Przejdź do pozycji Moduły urządzeń > i powinien zostać wyświetlony moduł gpu uruchomiony.

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

    prawidłowa instalacja jest

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

Następne kroki